home *** CD-ROM | disk | FTP | other *** search
/ Chip: 2005 Utilities / CHIP Utilities 2005 / CHIP Utilities 2005.iso / dosapps / uniflash / uniflash.doc < prev    next >
Encoding:
Text File  |  2004-12-31  |  90.9 KB  |  1,738 lines

  1.                      UniFlash version 1.38 documentation
  2.                      -----------------------------------
  3.                    (C) 2005 Rainbow Software (Ondrej Zary)
  4.           Original version by Pascal Van Leeuwen and Galkowski Adam
  5.  
  6.  
  7. "Your program just saved the day for me!
  8.  I tried to use AWDFLASH.exe to flash my new Shuttle HOT-603 v2.0(AMD640)
  9.  with the new 603WWQ07.bin BIOS and it did! The only problem was that the
  10.  BIN file wasn't complete.
  11.  Evidently this destroyed the boot block too. I tried to restore the old
  12.  BIOS to that EEPROM on a HOT-565(430TX) with all the other flash
  13.  programs I could get my hands on to no avail. I was able to flash the
  14.  HOT-603's EEPROM to 565WIQ0E.bin and it worked just fine on the HOT-565
  15.  so I knew the chip it's self was still good. I finally gave up and
  16.  ordered a replacement chip this morning. This evening while surfing I
  17.  saw a  reference to you'r program on http://ping.be and downloaded it.
  18.  With the 'Expert' mode I was able to properly flash the Winbond
  19.  W29EE011-15 chip on the HOT-565 for the HOT-603."
  20.  - Jack Freeman
  21.  
  22.  
  23. 0.0            DISCLAIMER
  24. -------------------------
  25. THIS PROGRAM COMMUNICATES WITH THE CHIPSET AND FLASH ROM CHIP AT THE LOWEST
  26. HARDWARE LEVEL. USING THIS PROGRAM MAY BE DANGEROUS TO YOUR COMPUTER'S BIOS.
  27. THIS PROGRAM MAY CONTAIN BUGS AND MOST OF THE SUPPORTED HARDWARE IS UNTESTED.
  28. YOU ARE USING IT AT YOUR OWN RISK:
  29. NOBODY EXCEPT YOU IS RESPONSIBLE FOR ANY DAMAGE THIS PROGRAM MAY CAUSE !!!
  30.  
  31.  
  32. 0.1            COPYRIGHT and CO.
  33. --------------------------------
  34.  
  35. This program is public domain. You may do whatever you want with it: copy it,
  36. delete it, rip it, modify it, etc...
  37. If you do something with it, it would be great if you credited us.
  38.  
  39.  
  40. 1.0            UniFlash? UNIFLASH??? What the HELL is it ??!!!
  41. --------------------------------------------------------------
  42.  
  43. UniFlash is a flash program, used to write a new BIOS on your FLASH ROM Chip.
  44. What's new there? , you may ask, there are already programs like this on
  45. Internet made by BIG BRANDS like AMI, AWARD or MR. Well... there is only a
  46. little difference: COMPLETE, WORKING SOURCE CODE IN PASCAL IS GIVEN FOR FREE!!
  47.  
  48. UniFlash is made to be universal - this can be useful when you're hot-flashing
  49. your bios in another motherboard.
  50.  
  51. Another thing: this flasher is mainly destinated for fearless people and
  52. experienced users. If it's your first adventure with flashing your BIOS, we
  53. recommend you strongly using these brand flashers. You'll have to understand
  54. we are just experienced computer users/programmers and we haven't materially
  55. the possibility to test every routine and chips we haven't. That's the main
  56. reason we release it. We hope people may help us in debugging and testing
  57. routines.
  58. NOTE by PvL: Brand name flashers have a tendency to be unstable (this is
  59.              especially true for AWDFLASH, which f*cked up my BIOS twice
  60.              so far, leaving me no other choice than to hot-flash) so if
  61.              you happen to be the lucky owner of one of the TESTED flash
  62.              chips I can really recommend using UNIFLASH instead ...
  63. NOTE by Rainbow:
  64. AWDFLASH IS REALLY BAD. When I was flashing BIOS on Abit SA6R, the verify
  65. failed. I retried flashing about 20 times, then it succeeded. But motherboard
  66. died after reboot. Luckily, after powering down and back up, BootBlock BIOS
  67. worked and I was able to flash the BIOS correctly from there.
  68.  
  69.  
  70. 2.0            What hardware do I need for UniFlash ?
  71. -----------------------------------------------------
  72.  
  73. Here's the minimum configuration you need to run UniFlash:
  74.        -At least a 386 (The whole thing works in flat real mode)
  75.        -RAM at least 2 times bigger than Flash ROM size, but less than 2GB
  76.        -MS DOS 4.0 and higher
  77.        -Known Flash ROM chip (see section 3.0)
  78.        -Supported chipset (see below) - note that all of them are PCI based
  79.         or c't Flasher 8-bit ISA card
  80.  
  81. ,----------------------------------------------------------------------------,
  82. | Don't forget to disable "Flash write protect" - either in system BIOS or   |
  83. | using a jumper on the motherboard.                                         |
  84. `----------------------------------------------------------------------------'
  85.  
  86. Here's a list of chipsets suported by Uniflash:
  87.  * means tested and functional,
  88.  # means tested, but doesn't work the way it should
  89.  unmarked chipsets are not tested
  90.  
  91. ,----------------------------------------------------------------------------,
  92. | Mfg     | Chipset(s)           | Comments                                  |
  93. `---------|----------------------|-------------------------------------------'
  94.  Intel    |*Triton 430FX         | No comments It works in 99% of cases
  95.           |*Triton II 430HX      |
  96.           |*Triton II 430VX      |
  97.           |*Triton III 430TX     |
  98.           |*Mobile 430MX         |
  99.           | Natoma 440FX         |
  100.           |*AGPSet 440LX/EX      |
  101.           | 450KX/GX             |
  102.           | Mecrucy 430LX        |
  103.           | Neptune 430NX        |
  104.           |*AGPSet 440BX/ZX      |
  105.           | AGPSet 440GX         |
  106.           |*i810                 | i810 tested and works OK, others should too
  107.           | i810E                |
  108.           | i810E2               |
  109.           | i815(P/G)            |
  110.           |*i815E(P/G)           |
  111.           | i815EM               |
  112.           | i820                 |
  113.           | i820E                |
  114.           | i830M(P/G)           |
  115.           | i840                 |
  116.           | i845                 |
  117.           | i845E                |
  118.           | i845G(E/L/V)/845PE   |
  119.           | i845MP/MZ            |
  120.           | i850(E)              |
  121.           |*i852GM/855GM         |
  122.           | i855PM               |
  123.           | i860                 |
  124.           | i865P(E)/G(V)/848P   |
  125.           | i875P                |
  126.           | E7205                |
  127.           | E7500                |
  128.           | E7501                |
  129.           | E7505                |
  130.           |*i915G/P/925X         |
  131. ----------|----------------------|--------------------------------------------
  132.  VIA      | 486 with VT82C505    | 486 chipsets with VT82C505 PCI bridge
  133.           | Appollo Master       |
  134.           | Apollo VP            |
  135.           |*Apollo VPX           |
  136.           |*Apollo VP2           |
  137.           | Apollo VP3           |
  138.           |*Apollo MVP3          |
  139.           | Apollo P6            |
  140.           | Apollo MVP4          | VIA chipsets are weird - some work, some
  141.           |*Apollo Pro           | don't.
  142.           |*Apollo Pro Plus/133  |
  143.           |*Apollo Pro 133A      | If you have "Flash Write protect" in BIOS,
  144.           | Apollo ProMedia      | disable it and it should work.
  145.           | Apollo Pro 133Z/PM133|
  146.           | Apollo KX133         |
  147.           |*Apollo KT133(A)      |
  148.           | ProSavage KM133(A)   |
  149.           |*Apollo KT266(A)/KT333|
  150.           | Apollo KT400(A)      |
  151.           | Apollo Pro 266       |
  152.           | Apollo Pro 266T      | These North Bridges are detected, but
  153.           | ProSavage P4M266     | aren't used in any VIA's chipset (??):
  154.           |*P4X266(A)/P4X333/400 | VT8662, VT8615, VT8361, VT3133
  155. ----------|----------------------|--------------------------------------------
  156.  AMD      |*AMD 640 (same as VIA | Works just fine
  157.           | Apollo VP2)          |
  158.           | AMD 750              | UniFlash supports true AMD chipsets since
  159.           |#AMD 760              | version 1.20. Their registers are very
  160.           | AMD 760MP            | similar to VIA. AMD 760 should work with
  161.           |*AMD 760MPX           | both VIA and AMD (does it really exist?)
  162.           |                      | south bridges.
  163.           | AMD 8000             |
  164.           | Geode SC1100         | Geode bought from National, these chips
  165.           | Geode SCx200         | have integrated south bridge
  166. ----------|----------------------|--------------------------------------------
  167.  SiS      |*85C496+497           | I got the datasheets, but not from SiS.
  168.           |*501/5101/5501        |
  169.           | 5511                 |
  170.           | 5571                 | To support 12 chipsets, I needed to write
  171.           |*5591/5592            | 5 different methods of enabling Flash ROM
  172.           | 5596                 | write access. (The more code, the more
  173.           |*5597/5598/5581/5120  | bugs :-)
  174.           |*530                  | All SiS South Bridges have the same
  175.           | 540                  | device ID $0008 (SiS 540 and 630 can have
  176.           | 600                  | either $0008 or $0018 - it can be
  177.           |*620                  | configured(!!!) through registers.
  178.           |*630                  |
  179.           | 635                  |
  180.           | 640                  | Boards with the new chipsets (540 and 630
  181.           | 645                  | and up) have often ITE IT8705F LPC Super IO
  182.           | 645DX                | (also called SiS 950 sometimes) which
  183.           | 648                  | allows to use regular Flash ROM on LPC bus.
  184.           | 650                  | It's tested and works.
  185.           | 651                  |
  186.           | 655                  |
  187.           | 730                  |
  188.           | 733                  |
  189.           |*735                  |
  190.           | 740                  |
  191.           | 745                  |
  192.           | 746                  |
  193.           |*748                  |
  194.           | 755                  |
  195. ----------|----------------------|--------------------------------------------
  196.  ALi      |*FinALi 486           | FinALi has very weird Flash ROM access but
  197.           |*Aladdin              | finally it works correctly.
  198.           | Aladdin III          |
  199.           | Aladdin IV/IV+       | All chipsets with M1533/M1543/M1535 South
  200.           |*Aladdin V            | Bridge should work.
  201.           | Aladdin 7            |
  202.           |*Aladdin Pro/Pro II   |
  203.           | Aladdin Pro III      | Aladdin TNT2
  204.           | CyberBLADE Aladdin i1|
  205.           | Aladdin Pro IV       |
  206.           |*ALiMAGiK 1           |
  207.           | Aladdin Pro 5(T/M)   | Unlisted chipsets are not fully detected,
  208.           | Aladdin-P4           | but should work if they use M1533/43/35 or
  209.           | CyberAladdin-P4      | M1523 South Bridge.
  210. ----------|----------------------|--------------------------------------------
  211.  SMSC     | VictoryBX-66         | i82443BX North Bridge with SMSC SLC90E66
  212.           |                      | South Bridge (UDMA-66 support)
  213. ----------|----------------------|--------------------------------------------
  214.  Winbond/ | W83C553F South Bridge| I don't know if this one was ever used.
  215.  Symphony |*Winbond W83697(H)F   | LPC Super I/Os with Flash ROM support
  216.  Labs     | Winbond W83697SF     |
  217.           | Winbond W83697UF     |
  218. ----------|----------------------|--------------------------------------------
  219.  ITE      | IT8871F/2F and       | Don't know where used, untested.
  220.           | IT8888F South Bridges| (No known chipset with these SBs)
  221.           |*IT8700F/8705F        | LPC Super I/Os with Flash ROM support
  222.           | IT8710               | (used with SiS 540, SiS 630 and newer)
  223. ----------|----------------------|--------------------------------------------
  224.  Reliance/| ServerSet III LE     | All chipsets with OSB4 South Bridge should
  225.  Server   | ServerSet III HE     | work. Untested.
  226.  Works    |                      | I don't have any official info.
  227. ----------|----------------------|--------------------------------------------
  228.  National/| Vesuvius-LS          | Never seen this one.
  229.  PicoPower|                      | Untested
  230. ----------|----------------------|--------------------------------------------
  231.  National/| Geode GX1 (MediaGX)  | With Cx5510, Cx5520 and Cx5530(A) chips.
  232.  Cyrix    |                      | New Geode chips are AMD.
  233. ----------|----------------------|--------------------------------------------
  234.  OPTi     |*Viper M/N/NK/N+/DP   | Tested and works
  235.           | Viper Max/Vendetta   | Untested, but should work too
  236. ----------|----------------------|--------------------------------------------
  237.  HiNT     | VXPro-II             | Used on some PC Chips boards (like M559)
  238.           |                      | I think that it's Utron UC85C501/502
  239.           |                      | Not tested
  240. ----------|----------------------|--------------------------------------------
  241.  UMC      |*UM8881F+UM8886BF     | Don't have any datasheets, tested and works
  242. ----------|----------------------|--------------------------------------------
  243.  Micron   | Copperhead+Coppertail| Has no flash write protection. Untested
  244. ----------|----------------------|--------------------------------------------
  245.  Contaq/  | hyperCache           | CY82C691+CY82C693(U/UB)
  246.  Cypress  | 386/486 with PCI     | CY82C596/597+CY82C599
  247. ----------|----------------------|--------------------------------------------
  248.  nVidia   |*nForce               | Tested and works
  249.           | nForce2              | nForce2 might not work
  250. ------------------------------------------------------------------------------
  251.  
  252. If your chipset is marked BXCel, VXPro, TXPro or something like that, it's a
  253. relabelled chipset (ALi, SiS or VIA) on a PC Chips board, with the exception
  254. of VXPro-II which is Utron.
  255.  
  256. The version 1.16d+ includes support for AMI's Flash Interface. It allows you
  257. to flash even if you have an unknown chipset (new AMI WinBIOS is necessary to
  258. use this feature). Starting from version 1.24, you must force using this mode,
  259. if you want to use it by giving the -AMI parameter. This is neccessary because
  260. it often doesn't work and hangs, preventing users from making BIOS backup.
  261.  
  262. 2.1            Support for specific boards
  263. ------------------------------------------
  264. These boards use non-standard write protection using general purpose outputs
  265. (GPOs) of the chipset.
  266. They're detected by reading the BIOS ID string from the top of 4GB. This means
  267. that the correct BIOS MUST be present in the socket when starting UniFlash or
  268. the flashing will not work.
  269.  
  270. 6A69RM4E = MicroStar MSI MS-6337 v3.0 (815EP Pro)
  271. 6A69RM4L = MicroStar MSI MS-6337 v5.0 (815EPT Pro, MS-6337LE5)
  272. 6A6S6A1A = Abit KG7(-Lite/-RAID)
  273. 6A69KA19 = Abit BF6, BE6-II v1.0 and v1.1
  274. 6A69KA1B = Abit BE6-II v1.2
  275. 6A69KA1C = Abit BE6-II v2.0 and BX133-RAID
  276. 6A6LMA19 = Abit KT7(-RAID), KT7A(-RAID), KT7E
  277. 6A6LMA1A = Abit KT7A(-RAID) v1.3
  278.  
  279. 2.2            Tested PCI cards
  280. -------------------------------
  281.  * means tested and functional
  282.  # means tested, but doesn't work
  283.  
  284. Cards with no specific support in UniFlash:
  285. * Adaptec 19160/29160N (AIC-7892B chip) - Winbond W29EE512
  286. * Adaptec 39160
  287. # AdvanSys ASB-3940UA
  288. # ATI Rage Magnum AGP
  289. # Matrox Millennium PCI
  290. * SIIG SC-PE4612 IDE controller (HighPoint HPT366) - SST 39SF010
  291.  
  292. I need datasheets for the cards (chips) that do not work.
  293.  
  294. Cards with specific support in UniFlash:
  295.   3Dfx Banshee
  296.   Sundance Technology ST201
  297.   STMicroelectronics STE10/100(A)
  298.   Winbond W89C840AF
  299.   SMSC LAN83C175 EPIC/C
  300.   VIA VT6102
  301.       VT6105M Rhine III
  302.   Realtek RTL8129/30/39
  303.           RTL8139 series
  304.           RTL8169 series
  305.   ADMtek AL981 Comet
  306.          AN983(B/BL) Centaur (B)
  307.          AN985(B/BL) Centaur (B)
  308.          ADM9511 Centaur II
  309.          ADM9513 Centaur II
  310.   Adaptec AIC-6915
  311.  
  312.  
  313. 3.0            What flash chips are supported by UniFlash ?
  314. -----------------------------------------------------------
  315.  
  316. UniFlash supports the following flash chips:
  317.  * means tested and functional,
  318.  # means tested, but doesn't work the way it should,
  319.  unmarked chips are not tested (note that a lot of chips are very similar to
  320.  one another though, so if one of them works then the rest should work fine
  321.  too)
  322.  
  323. ,----------------------------------------------------------------------------,
  324. | Flash ROM                       | Size                                     |
  325. `---------------------------------|------------------------------------------'
  326.   Alliance Semiconductor          |
  327.   ----------------------          |
  328.   AS29F040                        | 512KB
  329.   AS29F002T                       | 256KB
  330.   AS29F002B                       | 256KB
  331.   AS29F200T                       | 256KB
  332.   AS29F200B                       | 256KB
  333.   AS29LV400T                      | 512KB
  334.   AS29LV400B                      | 512KB
  335.   AS29LV800T                      | 1024KB
  336.   AS29LV800B                      | 1024KB
  337. ----------------------------------|-------------------------------------------
  338.   AMD                             |
  339.   ---                             |
  340.   Am28F256                        | 32KB
  341.   Am28F256A                       | 32KB
  342.   Am28F512                        | 64KB
  343.   Am28F512A                       | 64KB
  344.   Am28F010                        | 128KB
  345.   Am28F010A                       | 128KB
  346.   Am28F020                        | 256KB
  347.   Am28F020A                       | 256KB
  348.  *Am29F010(A/B)                   | 128KB
  349.  *Am29F040(B)                     | 512KB
  350.   Am29F080(B)                     | 1024KB
  351.   Am29F016(B)                     | 2048KB
  352.   Am29F017B                       | 2048KB
  353.   Am29F032B                       | 4096KB
  354.   Am29F100T                       | 128KB
  355.   Am29F100B                       | 128KB
  356.   Am29F200AT/BT                   | 256KB
  357.   Am29F200AB/BB                   | 256KB
  358.   Am29F400AT/BT                   | 512KB
  359.   Am29F400AB/BB                   | 512KB
  360.   Am29F800(B)T                    | 1024KB
  361.   Am29F800(B)B                    | 1024KB
  362.   Am29F160DT                      | 2048KB
  363.   Am29F160DB                      | 2048KB
  364.  *Am29F002(N)(B)T                 | 256KB
  365.   Am29F002(N)(B)B                 | 256KB
  366.   Am29F004BT                      | 512KB
  367.   Am29F004BB                      | 512KB
  368.   Am29LV010B                      | 128KB
  369.   Am29LV040B                      | 512KB
  370.   Am29LV017B                      | 2048KB
  371.   Am29LV033C                      | 4096KB
  372.   Am29LV065D                      | 8192KB
  373.   Am29LV081B                      | 1024KB
  374.   Am29LV001BT                     | 128KB
  375.   Am29LV001BB                     | 128KB
  376.   Am29LV002(B)T                   | 256KB
  377.   Am29LV002(B)B                   | 256KB
  378.   Am29LV004(B)T                   | 512KB
  379.   Am29LV004(B)B                   | 512KB
  380.   Am29LV008(B)T                   | 1024KB
  381.   Am29LV008(B)B                   | 1024KB
  382.   Am29LV200(B)T                   | 256KB
  383.   Am29LV200(B)B                   | 256KB
  384.   Am29LV400(B)T                   | 512KB
  385.   Am29LV400(B)B                   | 512KB
  386.   Am29LV800BT                     | 1024KB
  387.   Am29LV800BB                     | 1024KB
  388.   Am29LV160BT/DT                  | 2048KB
  389.   Am29LV160BB/DB                  | 2048KB
  390.   Am29LV116BT                     | 2048KB
  391.   Am29LV116BB                     | 2048KB
  392.   Am29LV320DT                     | 4096KB
  393.   Am29LV320DB                     | 4096KB
  394.   Am29SL800CT                     | 1024KB
  395.   Am29SL800CB                     | 1024KB
  396.   Am29SL160CT                     | 2048KB
  397.   Am29SL160CB                     | 2048KB
  398.   Am29PL160CB                     | 2048KB
  399. ----------------------------------|-------------------------------------------
  400.   AMIC                            |
  401.   ----                            |
  402.   A29010                          | 128KB
  403.   A29040(A/B)                     | 512KB
  404.   A29001(1)T                      | 128KB
  405.   A29001(1)B                      | 128KB
  406.  *A29002(1)T                      | 256KB
  407.   A29002(1)B                      | 256KB
  408.   A29400T                         | 512KB
  409.   A29400B                         | 512KB
  410.   A29800T                         | 1024KB
  411.   A29800B                         | 1024KB
  412.   A29L040                         | 512KB
  413.   A29L004T/400T                   | 512KB
  414.   A29L004B/400B                   | 512KB
  415.   A29L008T/800T                   | 1024KB
  416.   A29L008B/800B                   | 1024KB
  417.   A29L160T                        | 2048KB
  418.   A29L160B                        | 2048KB
  419. ----------------------------------|-------------------------------------------
  420.   ASD                             |
  421.   ---                             |
  422.  *AE29F1008 = Winbond W29EE011    | 128KB
  423.  *AE29F2008 = Winbond W29C020(C)  | 256KB
  424.  *AE49F2008 = Winbond W49F002U    | 256KB
  425. ----------------------------------|-------------------------------------------
  426.   Atmel                           |
  427.   -----                           |
  428.   AT29C256 or AT29C257            | 32KB
  429.   AT29C512                        | 64KB
  430.  *AT29C010(A)                     | 128KB
  431.   AT29C020(A)                     | 256KB
  432.   AT29C040A                       | 512KB
  433.   AT29LV256                       | 32KB
  434.   AT29LV512                       | 64KB
  435.   AT29xV010(A) series             | 128KB
  436.   AT29xV020 series                | 256KB
  437.   AT29xV040A series               | 512KB
  438.   AT49x512 series                 | 64KB
  439.   AT49x001(A)(N)T series          | 128KB
  440.   AT49x001(A)(N) series           | 128KB
  441.  *AT49x002(A)(N)T series          | 256KB
  442.   AT49x002(A)(N) series           | 256KB
  443.   AT49x008AT series               | 1024KB
  444.   AT49x008(A) series              | 1024KB
  445.   AT49x010 series                 | 128KB
  446.   AT49x020 series                 | 256KB
  447.   AT49x040(A) series              | 512KB
  448.   AT49x080 series                 | 1024KB
  449.   AT49x080T series                | 1024KB
  450.   AT49x2048(A) series             | 256KB
  451.   AT49x4096(A) series             | 512KB
  452.   AT49x8011T series               | 1024KB
  453.   AT49x8011 series                | 1024KB
  454.   AT49x160/161(4)T series         | 2048KB
  455.   AT49x160/161(4) series          | 2048KB
  456.   AT49BV320T/321T                 | 4096KB
  457.   AT49BV320/321                   | 4096KB
  458.   AT49LH002 (LPC/FWH)             | 256KB
  459.   AT49LH004 (LPC/FWH)             | 512KB
  460.   AT49LH00B4 (LPC/FWH)            | 512KB
  461.  *AT49LW080 (Firmware Hub)        | 1024KB
  462. ----------------------------------|-------------------------------------------
  463.   Bright Microelectronics         |
  464.   -----------------------         |
  465.   BM29F040  = Hyundai HY29F040    | 512KB
  466.   BM29F400T = Hyundai HY29F400T   | 512KB
  467.   BM29F400B = Hyundai HY29F400B   | 512KB
  468. ----------------------------------|-------------------------------------------
  469.   Catalyst                        |
  470.   --------                        |
  471.   CAT28F512                       | 64KB
  472.  *CAT28F010                       | 128KB
  473.   CAT28F015T                      | 192KB
  474.   CAT28F015B                      | 192KB
  475.   CAT28F020                       | 256KB
  476.  *CAT28F001T                      | 128KB
  477.  *CAT28F001B                      | 128KB
  478.   CAT28F002T                      | 256KB
  479.   CAT28F002B                      | 256KB
  480.   CAT28F150T                      | 192KB
  481.   CAT28F150B                      | 192KB
  482.   CAT29F(N)002T                   | 256KB
  483.   CAT29F(N)002B                   | 256KB
  484. ----------------------------------|-------------------------------------------
  485.   EON                             |
  486.   ---                             |
  487.   EN29F512                        | 64KB
  488.   EN29F010                        | 128KB
  489.   EN29F040(A)                     | 512KB
  490.   EN29F080                        | 1024KB
  491.  *EN29F002(A)T                    | 256KB
  492.   EN29F002(A)B                    | 256KB
  493.   EN29F800T                       | 1024KB
  494.   EN29F800B                       | 1024KB
  495.   EN29LV512                       | 64KB
  496.   EN29LV010                       | 128KB
  497.   EN29LV040                       | 512KB
  498.   EN29LV400T                      | 512KB
  499.   EN29LV400B                      | 512KB
  500.   EN29LV800(A)T                   | 1024KB
  501.   EN29LV800(A)B                   | 1024KB
  502.   EN29LV160T                      | 2048KB
  503.   EN29LV160B                      | 2048KB
  504. ----------------------------------|-------------------------------------------
  505.   Fujitsu                         |
  506.   -------                         |
  507.   MBM29F002TC                     | 256KB
  508.   MBM29F002BC                     | 256KB
  509.   MBM29F200TC                     | 256KB
  510.   MBM29F200BC                     | 256KB
  511.   MBM29F400TC                     | 512KB
  512.   MBM29F400BC                     | 512KB
  513.   MBM29F040C                      | 512KB
  514.   MBM29F033C                      | 4096KB
  515.   MBM29LV160TE                    | 2048KB
  516.   MBM29LV160BE                    | 2048KB
  517.   MBM29PL160TD                    | 2048KB
  518.   MBM29PL160BD                    | 2048KB
  519. ----------------------------------|-------------------------------------------
  520.   H.T.                            |
  521.   ----                            |
  522.  *M21561 = Macronix MX28F1000P    | 128KB
  523.  *M21032T = Macronix MX28F1000P   | 128KB
  524.  *M20271H = Macronix MX28F1000P   | 128KB
  525. ----------------------------------|-------------------------------------------
  526.   Hyundai                         |
  527.   -------                         |
  528.   HY29F040                        | 512KB
  529.   HY29F040A                       | 512KB
  530.   HY29F080                        | 1024KB
  531.   HY29F002T                       | 256KB
  532.   HY29F002B                       | 256KB
  533.   HY29F400T                       | 512KB
  534.   HY29F400B                       | 512KB
  535.   HY29F800T                       | 1024KB
  536.   HY29F800B                       | 1024KB
  537.   HY29LV160T                      | 2048KB
  538.   HY29LV160B                      | 2048KB
  539. ----------------------------------|-------------------------------------------
  540.   IMT                             |
  541.   ---                             |
  542.   IM29F001T                       | 128KB
  543.   IM29F001B                       | 128KB
  544.   IM29F002T                       | 256KB
  545.   IM29F002B                       | 256KB
  546.   IM29F004T                       | 512KB
  547.   IM29F004B                       | 512KB
  548.   IM29LV001T                      | 128KB
  549.   IM29LV001B                      | 128KB
  550.   IM29LV004T                      | 512KB
  551.   IM29LV004B                      | 512KB
  552. ----------------------------------|-------------------------------------------
  553.   Intel                           |
  554.   -----                           |
  555.   28F256(A)                       | 32KB
  556.   28F512                          | 64KB
  557.  *28F010                          | 128KB
  558.   28F020                          | 256KB
  559.  *28F001BX/BN-T                   | 128KB
  560.   28F001BX/BN-B                   | 128KB
  561.   28F002-T series                 | 256KB
  562.   28F002-B series                 | 256KB
  563.  #28F004-T series                 | 512KB
  564.   28F004-B series                 | 512KB
  565.   28F008-T series                 | 1024KB
  566.   28F008-B series                 | 1024KB
  567.   28F008SA                        | 1024KB
  568.   28F004Sx series                 | 512KB
  569.   28F008Sx series                 | 1024KB
  570.   28F016Sx series                 | 2048KB
  571.   28F016S5                        | 2048KB
  572.   28F004B3-T                      | 512KB
  573.   28F004B3-B                      | 512KB
  574.   28F008B3-T                      | 1024KB
  575.   28F008B3-B                      | 1024KB
  576.   28F016B3-T                      | 2048KB
  577.   28F016B3-B                      | 2048KB
  578.   28F320J5                        | 4096KB
  579.   28F320J3A                       | 4096KB
  580.   28F640J5                        | 8192KB
  581.   28F640J3A                       | 8192KB
  582.   28F128J3A                       | 16384KB
  583.  *82802AB (Firmware Hub)          | 512KB
  584.  *82802AC (Firmware Hub)          | 1024KB
  585. ----------------------------------|-------------------------------------------
  586.   ISSI                            |
  587.   ----                            |
  588.   IS28F010                        | 128KB
  589.   IS28F020                        | 256KB
  590. ----------------------------------|-------------------------------------------
  591.   Macronix                        |
  592.   --------                        |
  593.  *MX28F1000                       | 128KB
  594.  *MX28F1000P                      | 128KB
  595.   MX28F2000P                      | 256KB
  596.   MX28F2000T                      | 256KB
  597.   MX28F002T                       | 256KB
  598.   MX28F002B                       | 256KB
  599.   MX29F040                        | 512KB
  600.   MX29F080                        | 1024KB
  601.   MX29F016                        | 2048KB
  602.  *MX29F001T                       | 128KB
  603.  *MX29F001B                       | 128KB
  604.  *MX29F002(N)T                    | 256KB
  605.   MX29F002(N)B                    | 256KB
  606.   MX29F022T                       | 256KB
  607.   MX29F022B                       | 256KB
  608.   MX29F004T                       | 512KB
  609.   MX29F004B                       | 512KB
  610.   MX29F100T                       | 128KB
  611.   MX29F100B                       | 128KB
  612.   MX29F200T                       | 256KB
  613.   MX29F200B                       | 256KB
  614.   MX29F400T                       | 512KB
  615.   MX29F400B                       | 512KB
  616.   MX29F800T                       | 1024KB
  617.   MX29F800B                       | 1024KB
  618.   MX29F1610A                      | 2048KB
  619.   MX29F1615                       | 2048KB
  620.   MX29LV040                       | 512KB
  621.   MX29LV081                       | 128KB
  622.   MX29LV004T                      | 512KB
  623.   MX29LV004B                      | 512KB
  624.   MX29LV008T                      | 1024KB
  625.   MX29LV400T                      | 512KB
  626.   MX29LV400B                      | 512KB
  627.   MX29LV800T                      | 1024KB
  628.   MX29LV800B                      | 1024KB
  629.   MX29LV160T                      | 2048KB
  630.   MX29LV160B                      | 2048KB
  631.   MX29L1611                       | 2048KB
  632.   MX29L1611G                      | 2048KB
  633.   MX29L3211                       | 4096KB
  634. ----------------------------------|-------------------------------------------
  635.   Megawin                         |
  636.   -------                         |
  637.   MM29F040 = AMD Am29F040(B)/5V   | 512KB
  638. ----------------------------------|-------------------------------------------
  639.   Micron                          |
  640.   ------                          |
  641.   MT28F004-T = Intel 28F004-T     | 512KB
  642.   MT28F004-B = Intel 28F004-B     | 512KB
  643.   MT28F400-T = Intel 28F400-T     | 512KB
  644.   MT28F400-B = Intel 28F400-B     | 512KB
  645.   MT28F008-T = Intel 28F008-T     | 1024KB
  646.   MT28F008-B = Intel 28F008-B     | 1024KB
  647.   MT28F800-T = Intel 28F800-T     | 1024KB
  648.   MT28F800-B = Intel 28F800-B     | 1024KB
  649. ----------------------------------|-------------------------------------------
  650.   Mosel Vitelic                   |
  651.   -------------                   |
  652.   V29C51000T                      | 64KB
  653.   V29C51000B                      | 64KB
  654.   V29C51001T                      | 128KB
  655.   V29C51001B                      | 128KB
  656.   V29C51002T                      | 256KB
  657.   V29C51002B                      | 256KB
  658.   V29C51004T                      | 512KB
  659.   V29C51004B                      | 512KB
  660.   V29C51400T                      | 512KB
  661.   V29C51400B                      | 512KB
  662.   V29LC51000                      | 64KB
  663.   V29LC51001                      | 128KB
  664.   V29LC51002                      | 256KB
  665.   V29C31004T                      | 512KB
  666.   V29C31004B                      | 512KB
  667.   V29C31400T                      | 512KB
  668. ----------------------------------|-------------------------------------------
  669.   NexFlash Technologies           |
  670.   ---------------------           |
  671.   NX29F010  = AMD Am29F010        | 128KB
  672.   NX29F400B = AMD Am29F400B       | 512KB
  673. ----------------------------------|-------------------------------------------
  674.   PMC                             |
  675.   ---                             |
  676.  *Pm29F002T                       | 256KB
  677.   Pm29F002B                       | 256KB
  678.   Pm29F004T or Pm29LV104T         | 512KB
  679.   Pm29F004B or Pm29LV104B         | 512KB
  680.   Pm39F010 or 39LV010(R)          | 128KB
  681.   Pm39F020                        | 256KB
  682.   Pm39F040                        | 512KB
  683.   Pm39LV512(R)                    | 64KB
  684.   Pm39LV020                       | 256KB
  685.   Pm39LV040                       | 512KB
  686.   Pm49FL002                       | 256KB
  687.   Pm49FL004                       | 512KB
  688.   Pm49FL008                       | 1024KB
  689. ----------------------------------|-------------------------------------------
  690.   SHARP                           |
  691.   -----                           |
  692.   LHF00L02/6/7 (LPC)              | 1024KB
  693.   LHF00L03/4/5 (FWH)              | 1024KB
  694.   LHF00L01 (LPC)                  | 2048KB
  695. ----------------------------------|-------------------------------------------
  696.   SST                             |
  697.   ---                             |
  698.   28EE010/011                     | 128KB
  699.   29EE512                         | 64KB
  700.  *29EE010                         | 128KB
  701.  *29EE020                         | 256KB
  702.   28x040(A) series                | 512KB
  703.   29x512 series                   | 64KB
  704.   29x010 series                   | 128KB
  705.   29x020 series                   | 256KB
  706.   29SF512                         | 64KB
  707.   29SF010                         | 128KB
  708.   29SF020                         | 256KB
  709.   29SF040                         | 512KB
  710.   29VF512                         | 64KB
  711.   29VF010                         | 128KB
  712.   29VF020                         | 256KB
  713.   29VF040                         | 512KB
  714.  *49LF020 (LPC)                   | 256KB
  715.  *49LF020A (LPC)                  | 256KB
  716.   49LF030(A) (LPC)                | 384KB
  717.   49LF040 (LPC)                   | 512KB
  718.   49LF080(A) (LPC)                | 1024KB
  719.  *49LF002(A) (Firmware Hub)       | 256KB
  720.   49LF003A (Firmware Hub)         | 384KB
  721.   49LF004 (Firmware Hub)          | 512KB
  722.   49LF004A/B (Firmware Hub)       | 512KB
  723.   49LF008 (Firmware Hub)          | 1024KB
  724.  *49LF008A (Firmware Hub)         | 1024KB
  725.   39SF512                         | 64KB
  726.   39SF010(A)                      | 128KB
  727.  *39SF020(A)                      | 256KB
  728.   39SF040                         | 512KB
  729.   39xF512 series                  | 64KB
  730.   39xF010 series                  | 128KB
  731.  *39xF020 series                  | 256KB
  732.   39xF040 series                  | 512KB
  733.   39xF080 series                  | 1024KB
  734.   39xF016 series                  | 2048KB
  735. ----------------------------------|-------------------------------------------
  736.   STMicroelectronics              |
  737.   ------------------              |
  738.   M28F256                         | 32KB
  739.   M28F512                         | 64KB
  740.   M28F101                         | 128KB
  741.   M28F201                         | 256KB
  742.   M28W201                         | 256KB
  743.   M29F512B                        | 64KB
  744.   M29F010B                        | 128KB
  745.   M29F040(B)                      | 512KB
  746.   M29F080A                        | 1024KB
  747.   M29F016B                        | 2048KB
  748.   M29F002(B)(N)T                  | 256KB
  749.   M29F002(B)B                     | 256KB
  750.   M29F100(B)T                     | 128KB
  751.   M29F100(B)B                     | 128KB
  752.   M29F200(B)T                     | 256KB
  753.   M29F200(B)B                     | 256KB
  754.   M29F400(B)T                     | 512KB
  755.   M29F400(B)B                     | 512KB
  756.   M29F800AT                       | 1024KB
  757.   M29F800AB                       | 1024KB
  758.   M29F160BT                       | 2048KB
  759.   M29F160BB                       | 2048KB
  760.   M29W512B                        | 64KB
  761.   M29W010B                        | 128KB
  762.   M29W022BT                       | 256KB
  763.   M29W022BB                       | 256KB
  764.   M29W040(B)                      | 512KB
  765.   M29W200BT                       | 256KB
  766.   M29W200BB                       | 256KB
  767.   M29W400(B)T                     | 512KB
  768.   M29W400(B)B                     | 512KB
  769.   M29W800(A)T                     | 1024KB
  770.   M29W800(A)B                     | 1024KB
  771.   M29W160BB/DB                    | 2048KB
  772.   M29W004(B)T                     | 512KB
  773.   M29W004(B)B                     | 512KB
  774.   M29W008(A)T                     | 1024KB
  775.   M29W008(A)B                     | 1024KB
  776.   M50FW002 (FWH)                  | 256KB
  777.   M50LPW002 (LPC)                 | 256KB
  778.  *M50FW040 (FWH)                  | 512KB
  779.   M50LPW040 (LPC)                 | 512KB
  780.   M50FLW040A (LPC/FWH)            | 512KB
  781.   M50FLW040B (LPC/FWH)            | 512KB
  782.  *M50FW080 (FWH)                  | 1024KB
  783.   M50LPW080 (LPC)                 | 1024KB
  784.   M50FLW080A (LPC/FWH)            | 1024KB
  785.   M50FLW080B (LPC/FWH)            | 1024KB
  786.   M50FW016 (FWH)                  | 2048KB
  787. ----------------------------------|-------------------------------------------
  788.   SyncMOS                         |
  789.   -------                         |
  790.   F29C51001T = Mosel V29C51001T   | 128KB
  791.   F29C51001B = Mosel V29C51001B   | 128KB
  792.  #F29C51002T = Mosel V29C51002T   | 256KB
  793.   F29C51002B = Mosel V29C51002B   | 256KB
  794.   F29C51004T = Mosel V29C51004T   | 512KB
  795.   F29C51004B = Mosel V29C51004B   | 512KB
  796.   F29C31004T = Mosel V29C31004T   | 512KB
  797.   F29C31004B = Mosel V29C31004B   | 512KB
  798.   F29C31400T = Mosel V29C31400T   | 512KB
  799. ----------------------------------|-------------------------------------------
  800.   Texas Instruments               |
  801.   -----------------               |
  802.   TMS29xF040                      | 512KB
  803.   TMS28F002A-T = Intel 28F002-T   | 256KB
  804.   TMS28F002A-B = Intel 28F002-B   | 256KB
  805.   TMS28F200A-T = Intel 28F200-T   | 256KB
  806.   TMS28F200A-B = Intel 28F200-B   | 256KB
  807.   TMS28F200BZT = Intel 28F200-T   | 256KB
  808.   TMS28F200BZB = Intel 28F200-B   | 256KB
  809.   TMS28F400A-T = Intel 28F400-T   | 512KB
  810.   TMS28F400A-B = Intel 28F400-B   | 512KB
  811.   TMS28F400BZT = Intel 28F400-T   | 512KB
  812.   TMS28F400BZB = Intel 28F400-B   | 512KB
  813.   TMS28F004A-T = Intel 28F004-T   | 512KB
  814.   TMS28F004A-B = Intel 28F004-B   | 512KB
  815.   TMS28F008A-T = Intel 28F008-T   | 1024KB
  816.   TMS28F008A-B = Intel 28F008-B   | 1024KB
  817.   TMS28F800A-T = Intel 28F800-T   | 1024KB
  818.   TMS28F800A-B = Intel 28F800-B   | 1024KB
  819.   TMS28F010A/B = Intel 28F010     | 128KB
  820.   TMS28F020    = Intel 28F020     | 256KB
  821.   TMS28F512A   = Intel 28F512     | 64KB
  822.   TMS29F002RT  = AMD Am29F002T    | 256KB
  823.   TMS29F002RB  = AMD Am29F002B    | 256KB
  824.   TMS29F008T   = AMD Am29F800T    | 1024KB
  825.   TMS29F008B   = AMD Am29F800B    | 1024KB
  826.   TMS29F010    = AMD Am29F010     | 128KB
  827.   TMS29F040    = AMD Am29F040     | 512KB
  828.   TMS29F400T   = AMD Am29F400AT   | 512KB
  829.   TMS29F400B   = AMD Am29F400AB   | 512KB
  830.   TMS29F800T   = AMD Am29F800T    | 1024KB
  831.   TMS29F800B   = AMD Am29F800B    | 1024KB
  832.   TMS29LF008T  = AMD Am29LV008T   | 1024KB
  833.   TMS29LF008B  = AMD Am29LV008B   | 1024KB
  834.   TMS29LF800T  = AMD Am29LV800BT  | 1024KB
  835.   TMS29LF800B  = AMD Am29LV800BB  | 1024KB
  836. ----------------------------------|-------------------------------------------
  837.   Winbond                         |
  838.   -------                         |
  839.  *W29x010/011/012 series          | 128KB
  840.  *W29C020(C)                      | 256KB
  841.   W29C040                         | 512KB
  842.   W29EE512                        | 64KB
  843.   W39F010                         | 128KB
  844.   W39L512                         | 64KB
  845.   W39L010                         | 128KB
  846.   W39L020                         | 256KB
  847.   W39L040                         | 512KB
  848.   W39V040FA (Firmware Hub)        | 512KB
  849.  *W49F002U                        | 256KB
  850.   W49F020                         | 256KB
  851.   W49V002(A) (LPC)                | 256KB
  852.   W49V002F(A) (Firmware Hub)      | 256KB
  853. ------------------------------------------------------------------------------
  854.  
  855. 3.1            Flash ROM pinout and notes
  856. -----------------------------------------
  857.  
  858. Some 12V Flash ROMs require 12V voltage not only to flash, but also to detect.
  859. If you're trying to flash 12V chip, first check that you have 12V on the VPP
  860. pin in the socket on motherboard. Flash write protect jumper usually removes
  861. 12V from this pin.
  862. When some parts of the chip are write protected, 12V on VPP/#RESET pin will
  863. usually allow these protected parts to be flashed (unless the chip has N in
  864. the name - e.g. MX29F002NT - this means that RESET pin is not connected).
  865.  
  866. Be sure that Flash ROM is inserted the correct way in the socket (key on the
  867. chip must match with key on the socket) BEFORE powering up (if you're
  868. hot-flashing, double check chip orientation before inserting it into socket).
  869. Inserting it wrong way will DESTROY the chip - VCC will be swapped with GND
  870. and if there's 12V on the VPP pin, it will be connected to Q3 data pin...
  871.  
  872. Flash ROM pinout (32-pin DIP):
  873.           _____KEY_____
  874.     VPP -|     \_/     |- VCC     VPP = Programming voltage (12V)
  875.     A16 -|             |- #WE     VCC = Operating voltage (5V)
  876.     A15 -|             |- A17     GND = Ground
  877.     A12 -|             |- A14     A0..A17 = Address input pins
  878.      A7 -|             |- A13     Q0..Q7  = Data input/output pins
  879.      A6 -|             |- A8      #WE = Write enable
  880.      A5 -|             |- A9      #OE = Output enable
  881.      A4 -|             |- A11     #CE = Chip enable
  882.      A3 -|             |- #OE     (# means active low signal)
  883.      A2 -|             |- A10
  884.      A1 -|             |- #CE     Notes:
  885.      A0 -|             |- Q7        - some chips have #RESET instead of VPP
  886.      Q0 -|             |- Q6        - this is 256KB chip
  887.      Q1 -|             |- Q5        - 512KB chips have A18 instead of VPP
  888.      Q2 -|             |- Q4        - 128KB chips have NC instead of A17
  889.     GND -|_____________|- Q3        - 64KB chips have NC instead of A17 & A16
  890.  
  891.  
  892. 4.0            Help! I don't understand the sources !!!
  893. -------------------------------------------------------
  894.  
  895. If you have problems understanding something mail me (address at the end).
  896. Have a look also on the ADDCHIP.FAQ file. It explains how to add new chips
  897. plus some details.
  898.  
  899.  
  900. 5.0            ADVANCED submenu
  901. -------------------------------
  902.  
  903. There's ADVANCED submenu in UniFlash, which contains possibly dangerous
  904. functions. Since v1.33, flashing is done including bootblock by default. This
  905. is less dangerous that flashing a new BIOS and leaving incompatible bootblock
  906. from previous BIOS there. And more, the bootblock is not exactly defined
  907. anywhere - some BIOSes might use bigger bootblock than other, which can cause
  908. problems.
  909.  
  910. 5.1            Making an emergency disk
  911. ---------------------------------------
  912.  
  913. It is always nice to have an emergency disk handy in case something goes
  914. wrong. You see, most flash BIOS's incorporate something called a 'boot block'
  915. and UNIFLASH will not normally overwrite it so it remains intact.
  916. The boot block contains just enough code to boot up your computer with basic
  917. peripheral support to enable you to flash in a working BIOS in case something
  918. went wrong.
  919.  
  920. To make an emergency disk one would do the following:
  921. -make a DOS (or Win95/Win98, NOT ANY OTHER) system disk using "format a: /S"
  922. -copy uniflash to that disk
  923. -copy a working bios image (preferably a backup that was made while the system
  924.  was still a-ok) to the disk
  925. -make an AUTOEXEC.BAT containing:
  926. @UNIFLASH -E <name of BIOS image file>
  927.  
  928. NOTE: Whatever you do, do *NOT* load HIMEM.SYS. The boot block lacks support
  929.       routines that HIMEM.SYS requires, resulting in very nice crashes.
  930.       And I know from experience ... !! In general, keep the boot disk as
  931.       clean as possible, remove drvspace.bin and dblspace.bin.
  932.  
  933. Make sure UNIFLASH and the BIOS image are on the disk as the boot block only
  934. supports the floppy drive, you won't be able to access any harddrive !!
  935. When you boot from this emergency disk the working BIOS image will
  936. automatically (without any intervention by you) be flashed into the flash ROM
  937. by UNIFLASH. This is very convenient as the boot block has no support for PCI
  938. or AGP video cards, so you won't be able to SEE anything in the process unless
  939. you replace your PCI videocard with an old ISA one (hint!). If you have
  940. motherboard with i815(E) chipset and you're using onboard video, it will
  941. probably not work in boot block mode (because graphics BIOS is stored in main
  942. Flash ROM chip) - try to put an AGP card in (there are no ISA slots).
  943.  
  944. UNIFLASH will give you some audible feedback, though:
  945. first short beep: UNIFLASH invoked, reading BIOS image
  946. second short beep: done reading BIOS image, starting to flash
  947. chime sound: done flashing, reset your system
  948. long continuous beep: some error occured, press any key to retry operation
  949.  
  950. 5.2            Command-line parameters
  951. --------------------------------------
  952. UNIFLASH [-H|-?|[-PCIROM [BUS DEV FUN]|-AMI|-BASE xxxxx|CTFLASH [xxx]]
  953.  [-E fname][-SAVE fname|-CHIPLIST|-FORCE xxxx][-REPAIR][-LOG][-MONO]
  954.  [-CMOSS fname][-CMOSR fname][-CMOSC]][-QUIT][-REBOOT]
  955.  
  956. -H or -?        Shows this help screen
  957. -E fname        Flashes fname to Flash ROM with no prompts
  958. -LOG            Enables auto-logging to UNIFLASH.LOG
  959. -MONO           Use if you have problems with colors on monochrome monitor
  960. -CTFLASH        Flash ROM in c't Flasher 8-bit ISA card [xxx=port]
  961. -PCIROM         Flash ROM on a PCI card instead of system ROM
  962.   [BUS DEV FUN] Manually specify PCI device (decimal numbers)
  963. -AMI            Use AMI Flash Interface
  964. -CHIPLIST       Show list of supported flash chips with their numbers
  965. -FORCE xxxx     Force using routines for chip xxxx (4 hex digits)
  966. -BASE xxxxx     Set ROM Base to address xxxxx (at least 5 hex digits)
  967. -REPAIR         Repair erased chip ID (Winbond and SST chips)
  968. -SAVE fname     Write current bios image to file fname
  969. -CMOSS/R fname  Save/restore CMOS settings to/from file fname
  970. -CMOSC          Clears CMOS settings
  971. -QUIT           Quits (e.g. UNIFLASH -SAVE BACKUP.BIN -QUIT)
  972. -REBOOT         Reboot after flashing (use together with -E)
  973.  
  974. Parameters are executed in the same order as they are entered on the command
  975. line - so you can use e.g. "uniflash -cmoss cmos.bak -cmosc" to save CMOS
  976. settings to file called cmos.bak and then clear the CMOS.
  977. Some parameters can't be used together - e.g. -AMI can't be used with -PCIROM.
  978.  
  979. -E: Flashes BIOS image from file fname including bootblock without
  980.     any user input
  981. -LOG: Enables logging of all important events into file UNIFLASH.LOG. Use this
  982.       when you are sending bug reports and attach this file.
  983. -CTFLASH: Selects ROM on c't Flasher 8-bit ISA card. This card supports
  984.           Flash ROMs up to 512KB. Port is autodetected or can be specified
  985.           manually as optional parameter (hex 200-3FC).
  986. -PCIROM: Selects ROM on a PCI device instead of system ROM. Works only with
  987.          some cards. You can optionally specify the device you want to use.
  988.          (e.g. -PCIROM 0 3 1 = BUS 0, DEVICE 3, FUNCTION 1)
  989. -AMI: Uses interface supported by some AMI BIOSes instead of detecting the
  990.       chipset and writing to chipset registers to disable write protection.
  991.       (I haven't seen this working anywhere yet...)
  992. -CHIPLIST: Displays a list of supported chips with their IDs which are needed
  993.            for use with -FORCE parameter.
  994. -FORCE: Disable Flash ROM autodetection and set chip type to the one specified
  995.         by following ID (4 hex digits) - see -CHIPLIST parameter.
  996. -BASE: Set ROM base address manually and allow running without PCI bus.
  997.        Useful for memory-mapped flash programming cards with old systems.
  998. -REPAIR: ID on some Winbond and SST chips can be changed which can cause the
  999.          chip not being recognized by any software (including BIOS - AMI BIOS
  1000.          does not work in that chip, Award BIOS displays Unknown Flash Type).
  1001.          This option can change the ID on these chips. Because UniFlash does
  1002.          not know the correct ID, you must specify it using -FORCE parameter.
  1003. -SAVE: Save current BIOS to file fname.
  1004. -CMOSS: Save current CMOS settings to file fname. CMOS memory size is detected
  1005.         automatically.
  1006. -CMOSR: Restore CMOS settings from file fname. CMOS memory size is detected
  1007.         automatically.
  1008. -CMOSC: Clear CMOS memory.
  1009.  
  1010.  
  1011. 6.0            How to support UniFlash?
  1012. ---------------------------------------
  1013.  
  1014. If you want to help me in adding support for new chips, in testing the whole
  1015. thing or bugfixing, mail me, I'll put your name in credits at the end.
  1016. I want your opinions & experiences to make flashing BIOS an easy and safe
  1017. operation, where you doesn't need tons of flashers (if you multiply the
  1018. number of chipsets by the number of Flash ROM memories available, you'll
  1019. understand better what we're talking about).
  1020.  
  1021. 7.0            Credits
  1022. ---------------------------------------
  1023.  
  1024. Ondrej Zary (Rainbow Software) - Continues to develop this program after the
  1025. authors (below) stopped the development. Done all that is new after v1.17b.
  1026. Added tons of Flash ROMs and chipsets, fixed a lot of bugs, got datasheets
  1027. from ALi.
  1028.  
  1029. Pascal van Leeuwen - Made first design, chipset handling routines, a primitive
  1030. write function for SST, WINBOND and INTEL, added flat real mode, etc...
  1031. Improved SST & Winbond routines, made AMD routines work, added Atmel support,
  1032. added lots & lots of flash chips (of which most are currently untested ...)
  1033. Added reliability improvements (backup of old BIOS, verify after write)
  1034. Tested both Winbond & SST chips, became an expert at hot-flashing ;-)
  1035.  
  1036. Galkowski Adam - Initiated the UniFlash project, made modular structure, made
  1037. the current design, added functions handling DMI, PnP and bootblock, added
  1038. expert mode, made the previous crappy AMD support, wrote this doc, tested SST
  1039. routines, had multiple rendez-vous with "Award BootBlock BIOS",
  1040. advertised, etc...
  1041.  
  1042.  
  1043. 8.0            How to contact me
  1044. --------------------------------
  1045. You can contact me (Rainbow Software) by:
  1046. web    : http://www.uniflash.org - UniFlash ONLY
  1047. web    : http://www.rainbow-software.org
  1048. (new versions should be at all the addresses above)
  1049. e-mail : rainbow@rainbow-software.org
  1050.  
  1051. When sending reports that something doesn't work, always send the log file!
  1052.  
  1053. 9.0            Revision history
  1054. -------------------------------
  1055. 1.38       -fixed quitting on some boards immediately after running
  1056.            -fixed unprotect for ST FWH and LPC chips (one F is missing from
  1057.             the (un)protect register adresses)
  1058.            -fixed unprotect for ST 50FLW080A and B
  1059.            -added BIOS IDs of Abit BF6, all BE6-II variants, all KT7 variants
  1060.             and MSI MS-6337 v5.x
  1061.            -BIOS ID is now shown in lower right corner when detected & needed
  1062.            -updated SST LPC chip names, so they're marked "(LPC)"
  1063.            -fixed problems with some W49F002U chips by removing a piece of
  1064.             unknown code from AMD flashing routine
  1065. 1.37       -removed STMicroelectronics M28F102 (is 16-bit)
  1066.            -added STMicroelectronics M50FW016 (FWH), M50FLW040A (LPC/FWH),
  1067.             M50FLW040B (LPC/FWH), M50FLW080A (LPC/FWH), M50FLW080B (LPC/FWH),
  1068.             M28W201 chips
  1069.            -added AMIC A29800T, A29800B, A29L004T/400T, A29L004B/400B,
  1070.             A29L008T/800T, A29L008B/800B, A29L160T, A29L160B, A29L040 chips
  1071.            -added IMT IM29LV001T, IM29LV001B chips
  1072.            -added EON EN29F512, EN29F010, EN29LV512, EN29LV010, EN29LV040,
  1073.             EN29LV400T, EN29LV400B, EN29LV800(A)T, EN29LV800(A)B, EN29LV160T,
  1074.             EN29LV160B
  1075.            -added SST 49LF020A chip
  1076.            -added SHARP LHF00L02/6/7 (LPC), LHF00L03/4/5 (FWH) and LHF00L01
  1077.             (LPC) chips
  1078.            -added Intel 915G/P/925X chipsets with new ICH6
  1079.            -added OPTi Viper M/N/NK/N+/DP, changed Vendetta 82C750 to
  1080.             Viper Max/Vendetta 82C750 and fixed a bug in OPTi chipset support
  1081.            -added VIA 486 chipsets with VT82C505 PCI bridge
  1082. 1.36       -c't Flasher can now be used on systems without PCI bus
  1083.            -fixed a bug causing -save and -e parameters to not work correctly
  1084.             when used together
  1085.            -added AMD 8000 chipset detection
  1086.            -fixed 256B CMOS size detection on chipsets that provide access to
  1087.             full CMOS range using 72/73h registers
  1088.            -added AMD Geode SC1100 and SC1200/2200/3200 support and Cx5510
  1089.             and Cx5520 device IDs
  1090. 1.35       -fixed i82378ZB vs. i82379AB identify
  1091.            -fixed a bug causing hangs with Winbond LPC Super I/O chips
  1092.            -added SiS 964 south bridge detection
  1093. 1.34       -fixed a bug causing arithmetic overflow with chips with many
  1094.             sectors (such as SST 49LF008A FWH)
  1095.            -fixed problems with c't Flasher and 5V chips smaller than 512KB
  1096.             that use pin 1 as #RESET
  1097.            -added some new PMC chips: Pm39F010, Pm39F020, Pm39F040, Pm39LV020,
  1098.             Pm39LV040
  1099.            -fixed problems with logging on a write protected drive
  1100.            -added support for non-standard BIOS write protection methods by
  1101.             detecting BIOS ID string and matching the board in the list of
  1102.             known boards
  1103.            -added alternative method of supporting 256KB chips on M1533/M1543
  1104.             south bridges - through GPO[19] (used e.g. on Acer V72MA board)
  1105.             (although it does not seem to work...)
  1106.            -added Intel 865P(E)/G(V)/848P chipsets
  1107.            -added some Atmel chips: AT49x2048(A) series, AT49LH002, AT49LH004,
  1108.             AT49LH00B4 and AT49LW080
  1109. 1.33       -fixed reboot when running on QDI Titanium IB+ board
  1110.            -no more flashing when file size is not correct
  1111.            -added support for Winbond LPC Super I/O chips W83697(H)F,
  1112.             W83697SF and W83697UF
  1113.            -fixed problems with bootblock erasing on Atmel AT49x001(N)(T) and
  1114.             AT49x002(N)(T) chips (bootblock can't be erased separately -> chip
  1115.             erase must be used)
  1116.            -english-only - other languages are not compiled in the binary
  1117.             release because the translations are outdated
  1118.            -flash including bootblock by default, flashing without bootblock
  1119.             is available from the advanced menu
  1120.            -Restore backup CMOS data in CMOS menu now works
  1121. 1.32       -added support for c't flasher 8-bit ISA card, autodetecting port
  1122.             and memory base, supports Flash ROMs up to 512KB
  1123.            -register contents in LOG file are now written as hex numbers
  1124. 1.31       -added support for ALi Aladdin, the ALi's first Pentium chipset
  1125.             (uses low E and F segments, disabling shadow during read access)
  1126.            -if the south bridge is not found, the first device with no class
  1127.             code is assumed to be south bridge (for old chipsets)
  1128.            -fixed one line more cleared when changing drives in file browser
  1129.            -modified chipset detection and identifying code to allow easier
  1130.             implementation of support for new chipsets
  1131.            -fixed error when opening files with read-only attribute set
  1132.            -modified i8xx chipset code to support FWHs up to 4MB (32Mbit)
  1133.            -added SiS 648, 651, 655, 733, 745, 746, 748, 755 chipsets
  1134.            -added i845E, i845G(E/L/V)/845PE, i845MP/MZ, i852GM/855GM, i855PM,
  1135.             i875P, E7205, E7501, E7505 chipsets
  1136.            -added VIA Apollo KT333, KT400(A), Apollo Pro 266T, P4X400
  1137.            -added ALi Aladdin 7, Aladdin Pro III (TNT2), CyberBLADE Aladdin i1,
  1138.             Aladdin Pro 5(T/M), Aladdin-P4, CyberAladdin-P4
  1139.            -modified multi-language code to save some memory by initializing
  1140.             only the selected language (also reduced EXE file size)
  1141.            -moved PCI card support into separate unit (PCICARDS.PAS) and added
  1142.             specific support for these PCI network cards:
  1143.              STMicroelectronics STE10/100(A), Winbond W89C840AF,
  1144.              SMSC LAN83C175 EPIC/C, VIA VT6102, VT6105M Rhine III
  1145.              Realtek RTL8129/30/39, RTL8139 series, RTL8169 series
  1146.              ADMtek AL981 Comet, AN983,985(B/BL) Centaur (B),
  1147.              ADM9511,9513 Centaur II, Adaptec AIC-6915
  1148.            -added support for PMC Pm49FL002/004/008 FWHs/LPCs
  1149. 1.30       -added timeouts to all program/erase routines so there should never
  1150.             be any lockups, even if Flash ROM does not respond
  1151.            -fixed incorrect ROM Base when no Flash ROM detected
  1152.            -fixed (forced) displayed when chip was forced and then redetected
  1153.            -graph color during flashing now represents the write status -
  1154.             green means write OK, red means write failed (timeout/error)
  1155.            -fixed GenPageProg and AtmelPageProg to avoid extra retries for
  1156.             chips that do not support error bit - it slowed down flashing and
  1157.             reduced chip life (nice to see how fast W29EE011 really is)
  1158.            -added support for i82801DB ICH4
  1159.            -added a question when flashing without bootblock and there's
  1160.             bootblock mismatch allowing user to flash including bootblock
  1161.             (to prevent users from killing the BIOS because of not reading
  1162.             this manual...)
  1163.            -removed PnP (ESCD) manipulation (DMI was removed some time ago),
  1164.             it was very dangerous (no checks if there really is ESCD data -
  1165.             easy way to kill the BIOS) and useless
  1166.            -fixed a bug in -BASE parameter (thanks to Krystian Rozycki)
  1167.            -fixed bug in protect/unprotect code for all FWHs that prevented
  1168.             flashing from working
  1169.            -added nVidia nForce support
  1170. 1.29       -added some Winbond Flash ROMs: W39L512, W39F010, W39L010, W39L020,
  1171.             W39L040, W39V040FA (FWH) and W49F020
  1172.            -found old Catalyst datasheets - fixed CAT28F150T, added CAT28F015T
  1173.             and CAT28F015B
  1174.            -better PCI ROM flashing, added 3Dfx Banshee support
  1175.            -added Micron Copperhead+Coppertail chipset detection (has no flash
  1176.             write protection)
  1177.            -added Contaq/Cypress hyperCache chipset (CY82C691+CY82C693(U/UB))
  1178.             and 386/486 chipsets with PCI (CY82C599 required)
  1179.            -changed i82378ZB SIO and i82379AB SIO.A detection (it has no class
  1180.             code - now detected by vendor and device ID if 82434LX/NX present)
  1181.            -fixed CMOS size detection detecting falsely 256b on some boards
  1182.            -modified code to allow easier implementation of various flash
  1183.             access methods (external progammers, PCI cards...)
  1184.            -rewrote ALi FinALi support using these new methods (it was a lot
  1185.             easier now)
  1186.            -some cosmetic fixes (misaligned error messages, some german texts)
  1187.            -fixed flashing on PC Chips M715 board (i440LX) with Award
  1188.             BootBlock BIOS (GPO used for write protection)
  1189.            -added VIA VT8235 south bridge support
  1190.            -added STMicroelectronics M50LPW040, M50FW002 and M50LPW002 chips
  1191.            -added unprotect for STMicroelectronics LPC and FWH chips
  1192.            -found a way to unprotect Flash ROM on Abit BX133-RAID (GPO used),
  1193.             might work on other Abit i440BX based boards too
  1194.             BUT: Flashing failed with Winbond W49F002U - some cache problems?
  1195. 1.28       -fixed -SAVE paramter (it was completely broken)
  1196.            -display Chipset and Flash ROM when only -QUIT parameter specified
  1197.            -fixed bug causing reset of ITE LPC Super I/Os (resulting in floppy
  1198.             and COM&LPT ports not working until reboot)
  1199.            -fixed Macronix chip detection
  1200.            -fixed Atmel AT29Cxxx detection (again, it really works now)
  1201.            -fixed Atmel programming routine (chip remained unprotected)
  1202.            -fixed some SiS chipset support
  1203.            -fixed Utron 128KB support (again)
  1204.            -fixed showing SUCCESS when bootblock mismatch and user answered NO
  1205.            -fixed the detection routine erased vendor and device IDs from some
  1206.             Winbond and SST chips (detected properly once but then unknown,
  1207.             BIOS displayed "Unknown Flash Type" message)
  1208.            -added repair feature to repair the erased IDs (-repair parameter)
  1209.            -added support for ALi FinALi 486 chipset
  1210.            -enable/disable menu items after redetect with/without Flash ROM
  1211.            -verify now shows unchanged areas
  1212.            -removed $4B and $D5 IDs for Macronix MX28F1000P (they were there
  1213.             because of the detection bug which is now fixed)
  1214.            -added logging for north bridge methods
  1215.            -added support for UMC UM8881F+UM8886BF chipset (no datasheets,
  1216.             reverse engineering used)
  1217.            -fixed hang when running under Award BootBlock BIOS with
  1218.             uninitialized or absent graphics card
  1219.            -added user friendly filename editing, default file names when
  1220.             saving a file and file browser when opening a file (press ENTER on
  1221.             the prompt, TAB to change drive)
  1222.            -added I/O error checking for all file operations
  1223.            -added -REBOOT patameter to reboot after flashing using -E
  1224.            -added -BASE parameter to set ROM base address manually and allow
  1225.             UniFlash to run without PCI bus
  1226. 1.27       -added -MONO parameter for monochrome monitors
  1227.            -enhanced -PCIROM functionality, you can now manually specify
  1228.             a device by its BUS, DEVICE and FUNCTION numbers (decimal)
  1229.            -fixed HiNT VXPro-II (Utron UC85C501/502) 128KB Flash ROMs
  1230.            -added some VIA chipsets: ProSavage KM133(A), P4M266, P4X266(A)/333
  1231.            -added real VIA VT8233 support
  1232.            -fixed hang when EMM386.EXE is loaded (display error message now)
  1233.            -success chime sound also in emergency mode
  1234.            -fixed Atmel AT29Cxxx detection
  1235.            -added ITE IT8700F/8705F and IT8710 LPC Super I/O detection with
  1236.             SiS 540 and SiS 630 chipsets and all newer
  1237.            -added some SiS chipsets : SiS 635, SiS 640, SiS 645, SiS 645DX,
  1238.             SiS 650, SiS 730, SiS 735 and SiS 740 - I have no datasheets, but
  1239.             SiS 735 is tested and works
  1240.            -clear keyboard buffer before asking for file names and also on exit
  1241.            -fixed memory de-allocation bug when HIMEM.SYS is loaded
  1242. 1.26       -added Intel E7500 chipset with 82801CA (ICH3-S) I/O Controller Hub
  1243.            -added some ALi chipsets: Aladdin III (M1521 and M1523(B)) and
  1244.             Aladdin IV/IV+ (M1531(B))
  1245.            -ALi FINALi 486 chipset (M1489) is not supported because it doesn't
  1246.             map Flash ROM below 4GB
  1247.            -added AMD 760MPX chipset with AMD-768 South Bridge
  1248.            -added OPTi Vendetta 82C750 chipset (removed the old disabled code)
  1249.            -added HiNT VXPro-II chipset (I think that it's Utron UC85C501/502,
  1250.             because this one matches it and has programmable Mfg.&Device IDs)
  1251.            -added -QUIT parameter - quits when processed, all comands after
  1252.             will be ignored (useful use: "UNIFLASH -SAVE BACKUP.BIN -QUIT")
  1253.            -added German language support (by Gerald Bottcher)
  1254.            -PCI-to-ISA posted write buffer is disabled on ALi chipsets during
  1255.             flashing to fix problems with some Flash ROMs (e.g. EON)
  1256.            -added unprotect for SST49LF002A/003A/004A/008A FWHs
  1257. 1.25       -fixed crash in Windows on some machines - display error message
  1258.             (thanks to Alejando Pelaez)
  1259.            -pressing ESC in -chiplist will quit
  1260.            -CMOS size in log
  1261.            -added -CMOSS (Save CMOS), -CMOSR (Restore CMOS) and -CMOSC (Clear
  1262.             CMOS) options (they work also in Windows)
  1263.            -added support for 256b CMOS
  1264.            -fixed CMOS support to save/restore/clear also bytes 15 and 16
  1265.            -added ServerWorks ServerSet III LE and HE chipsets with Reliance
  1266.             NB6536 & NB6635 North Bridges (without any info from ServerWorks)
  1267.            -added National Semiconductor PicoPower Vesuvius-LS chipset
  1268.            -added National Semiconductor Geode GX1 CPU with North Bridge
  1269.             (Cyrix MediaGX) and CS5530(A) South Bridge (Cyrix CX5530(A))
  1270. 1.24       -added support for some ALi chipsets: Aladdin Pro IV and ALiMAGiK 1
  1271.            -fixed 256KB and 512KB support for ALi chipsets
  1272.            -added VIA Apollo VP3 with VT82C596 South Bridge
  1273.            -implemented Redetect Flash ROM function
  1274.            -AMI Flash Interface is no longer automatically enabled to prevent
  1275.             hangs. You must use "-ami" parameter to activate it.
  1276.            -added two more IDs for Macronix MX28F1000P - $4B and $D5
  1277.            -simplified detection routine - removed support for multiple Flash
  1278.             ROMs and removed all 16-bit wide ROMs, cleaned up the code
  1279.            -pressing Q in -chiplist will quit (like MORE.COM)
  1280.            -fixed Macronix MX29F002(N)T slow erase bug
  1281.            -added Reliance/ServerWorks OSB4 South Bridge
  1282. 1.23       -added Italian language support (by Enrico Antongiovanni)
  1283.            -added timeout to GenPageProgB and GenPageProgW (to prevent hangs
  1284.             with boot block protection enabled on Winbond Flash ROMs)
  1285.            -added auto-logging feature (-LOG parameter)
  1286.            -added support for Intel 830MP and 845 chipsets
  1287.            -new keyboard handler doesn't use BIOS - this allows UniFlash to
  1288.             work correctly under Award BootBlock BIOS (tested)
  1289.            -added simple help on the bottom of screen in menu
  1290.            -added new program/erase routines for Winbond Sectored Flash ROMs
  1291.             (may fix Winbond W29F002U?)
  1292.            -tried to fix but still not fixed SiS 501/5101/5501 support
  1293.            -some VIA reverse engineering (reserved registers seems to be used)
  1294.             but new VIA/AMD chipsets still not working (if you have "Flash
  1295.             Write Protect" option in BIOS, your chipset will work when you
  1296.             disable it)
  1297. 1.22       -added error messages: running under Windows, PCI bus not found
  1298.            -fixed Flash ROM write protect enable/disable - fixed possible
  1299.             chipset register corruption
  1300.            -added new delay routine based on Time Stamp Counter (TSC), it's
  1301.             used on all CPUs that supports TSC (Pentium+), old CPUs use the
  1302.             old routine. This fixed all problems with slow performance on
  1303.             fast computers
  1304.            -modified waiting times for Page Write Flash ROMs (most of Atmel,
  1305.             SST and Winbond Flash ROMs) to prevent lock-ups
  1306.            -fixed i430MX South Bridge detection (thanks to Josh Little but he
  1307.             paid hard for that - his notebook doesn't work anymore because
  1308.             Intel 28F004-T support doesn't work)
  1309.            -fixed a _VERY_ NASTY BUG in Bulk Erase/Need Blanking chip support
  1310.             this one was there probably from the beginning of UniFlash and
  1311.             actually caused the same byte to be flashed to entire chip...
  1312.             This fixed almost all Bulk Erase/Need Blanking chips.
  1313.            -Nils Emil P. Larsen tested these Bulk Erase/Need Blanking chips,
  1314.             they're working CAT28F010, MX28F1000P, Intel 28F010 and also H.T.
  1315.             M21561 (which is actually MX28F1000P)
  1316.            -added support for Intel 860 chipset (Xeon) and ALi Aladdin V
  1317.            -added support for 1MB Flash ROMs with VIA VT82C596(A|B) and
  1318.             VT82C686(A) South Bridges
  1319.            -doesn't exit when no Flash ROM detected in PCI Option ROM mode
  1320.            -chiplist now pauses after each screen (no need for external more
  1321.             program) but not when stdout is redirected
  1322.            -fixed memory corruption when using -chiplist (thanks to Marusceac
  1323.             Claudiu Florin)
  1324.            -beep after successful flashing
  1325.            -heavy menu modifications, removed expert and debug modes - they're
  1326.             not needed anymore, add Home,PgUp/End,PgDown keys
  1327.            -removed BIOS info (I haven't seen it working anywhere)
  1328.            -added some Intel chips: 28F008-T series and 28F008-B series
  1329.            -added STMicroelectronics Flash ROMs: M28F256, M28F512, M28F101,
  1330.             M28F102, M28F201, M29F512B, M29F010B, M29F040(B), M29F080A,
  1331.             M29F016B, M29F002(B)(N)T, M29F002(B)B, M29F100(B)T, M29F100(B)B,
  1332.             M29F200(B)T, M29F200(B)B, M29F400(B)T, M29F400(B)B, M29F800AT,
  1333.             M29F800AB, M29F160BT, M29F160BB, M29W512B, M29W010B, M29W022BT,
  1334.             M29W022BB, M29W040(B), M29W200BT, M29W200BB, M29W400(B)T,
  1335.             M29W400(B)B, M29W800(A)T, M29W800(A)B, M29W160BB/DB, M29W004(B)T,
  1336.             M29W004(B)B, M29W008(A)T, M29W008(A)B, M50FW040 (FWH),
  1337.             M50FW080 (FWH) and M50LPW080 (LPC)
  1338.            -added Texas Instruments Flash ROMs: TMS28F210, TMS29xF040 and
  1339.             info about the others into docs
  1340.            -added Fujitsu Flash ROMs: MBM29F002TC, MBM29F002BC, MBM29F200TC,
  1341.             MBM29F200BC, MBM29F400TC, MBM29F400BC, MBM29F040C, MBM29F033C,
  1342.             MBM29LV160TE, MBM29LV160BE, MBM29PL160TD and MBM29PL160BD
  1343.            -modified Mosel support for SyncMOS chips F29C31004B and F29C31400T
  1344.            -fixed a bit PCI Option ROM enabling (for AGP cards), but flashing
  1345.             still does not work (looks like writes to ROM are ignored - like
  1346.             write protection, the Flash ROM is not responding to commands)
  1347.            -simplified the detection routine (note: new one is still not done)
  1348. 1.21       -added support for SiS chipsets: 85C496+497, 85C501/5101/5501,
  1349.             5511, 5571,5591/5592, 5596, 5597/5598/5581/5120, 530, 540, 600,
  1350.             620 and 630 (all untested). It's unbelievable, but they are using
  1351.             5 (!) different methods to enable Flash ROM write and what's more,
  1352.             all their south bridges have the same device ID - $0008 (SiS 540
  1353.             and 630 can have either $0008 or $0018).
  1354.            -added support for SMSC VictoryBX-66 chipset
  1355.            -added support for Winbond/Symphony Labs W83C553F South Bridge
  1356.            -added support for ITE South Bridges IT8871F/2F and IT8888F
  1357.            -fixed Flash ROM detection - Device IDs can have even parity
  1358.            -changed sector structure array - can now hold more sectors (upto
  1359.             5*65535), 128b to 8MB each (see addchip.faq)
  1360.            -added support for Alliance Semiconductor Flash ROMs: AS29F040,
  1361.             AS29F002T, AS29F002B, AS29LV400T, AS29LV400B, AS29F200T,
  1362.             AS29F200B, AS29LV800T and AS29LV800B
  1363.            -added some AMD Flash ROMs: Am29LV001BT, Am29LV001BB, Am29LV010B,
  1364.             Am29F004BT, Am29F004BB, Am29LV040B, Am29LV081B, Am29LV008(B)T,
  1365.             Am29LV008(B)B, Am29LV800BT, Am29LV800BB, Am29SL800CT, Am29SL800CB,
  1366.             Am29F016(B), Am29F017B, Am29LV017B, Am29LV116BT, Am29LV116BB,
  1367.             Am29F160DT, Am29F160DB, Am29LV160BT/DT, Am29LV160BB/DB,
  1368.             Am29SL160CT, Am29SL160CB, Am29PL160CB, Am29F032B, Am29LV033C,
  1369.             Am29LV320DT, Am29LV320DB, Am29LV065D
  1370.            -added some Atmel Flash ROMs: AT29LV512, AT49x512, AT49x010,
  1371.             AT49x001(N)T, AT49x001(N), AT49x002(N)T, AT49x002(N),
  1372.             AT49x2048(A), AT49x4096(A), AT49x008AT, AT49x8192(A)T,
  1373.             AT49x8192(A), AT49x8011T, AT49x8011, AT49x160/161(4)T,
  1374.             AT49x160/161(4), AT49BV320T/321T, AT49BV320/321
  1375.            -added some Catalyst Flash ROMs: CAT28F010, CAT28F020, CAT28F102,
  1376.             CAT28F512
  1377.            -added EON Flash ROMs: EN29F040, EN29F080, EN29F800T, EN29F800B,
  1378.             EN29F002T, EN29F002B
  1379.            -added Hyundai Flash ROMs: HY29F002T, HY29F002B, HY29F040,
  1380.             HY29F040A, HY29F080, HY29F400T, HY29F400B, HY29F800T, HY29F800B,
  1381.             HY29LV160T, HY29LV160B
  1382.            -added IMT Flash ROMs: IM29F001T, IM29F001B, IM29F002T, IM29F002B,
  1383.             IM29F004T, IM29F004B, IM29LV004T, IM29LV004B
  1384.            -added some Intel chips: 28F256A, 28F512, 28F004Sx, 28F008Sx,
  1385.             28F008SA, 28F016Sx, 28F016S5/SA, 28F320J3A, 28F320J5, 28F640J3A,
  1386.             28F640J5, 28F128J3A
  1387.            -added ISSI (Integrated Silicon Solution) Flash ROMs: IS28F010 and
  1388.             IS28F020
  1389.            -removed Macronix MX28F1000PC and MX28F1000PPC (not existing)
  1390.            -added some Macronix chips: MX28F2000P, MX28F2000T, MX29F100T,
  1391.             MX29F100B, MX28F002T, MX28F002B, MX29F001T, MX29F001B,
  1392.             MX29F002(N)T, MX29F002(N)B, MX29F022T, MX29F022B, MX29F200T,
  1393.             MX29F200B, MX29F004T, MX29F004B, MX29F400T, MX29F400B, MX29LV004T,
  1394.             MX29LV004B, MX29LV400T, MX29LV400B, MX29F040, MX29LV040, MX29F080,
  1395.             MX29LV081, MX29F800T, MX29F800B, MX29LV008T, MX29LV800T,
  1396.             MX29LV800B, MX29F016, MX29L1611, MX29L1611G, MX29F1610A,
  1397.             MX29LV160T, MX29LV160B, MX29F1615, MX29L3211
  1398.            -added Mosel Vitelic Flash ROMs:
  1399.             V29C51000T, V29C51000B, V29C51001T, V29C51001B, V29C51002T,
  1400.             V29C51002B, V29C51004T, V29C51004B, V29C51400T, V29C51400B,
  1401.             V29C31004T, V29C31004B, V29LC51000, V29LC51001, V29LC51002
  1402.            -added PMC Flash ROMs: Pm39LV512R, Pm39LV010R, Pm29F002T,
  1403.             Pm29F002B, Pm29F004T/5V or Pm29LV104T, Pm29F004B or Pm29LV104B
  1404.            -added some SST Flash ROMs: 29SF512, 29VF512, 29SF010, 29VF010,
  1405.             29SF020, 29VF020, 29SF040, 29VF040, 39SF512, 39xF512, 39S010(A),
  1406.             39xF010, 39SF020(A), 39xF020, 39SF040, 39xF040, 39xF080, 39xF016,
  1407.             39xF200A, 39xF400A, 39xF800A, 39xF160, 49LF002(A), 49LF003A,
  1408.             49LF004, 49LF004A, 49LF008, 49LF008A, 49LF020, 49LF030, 49LF040,
  1409.             49LF080
  1410.            -added some Winbond Flash ROMs: W29C040, W49F002U, W49V002(A),
  1411.             W49V002F(A), W29F102 or W49F102, W49L102, W49F201, W49L201
  1412.            -some code size optimizations
  1413. 1.20       -added support for these AMIC chips: A29001(1)T, A29001(1)B,
  1414.             A29010, A29002(1)T, A29002(1)B, A29400T, A29400B and A29040
  1415.             They're all sectored and use AMD commands.
  1416.             (For Matt Choudoir's broken ABIT KT7A with AMIC A29002T)
  1417.             A29002(1)T tested and works correctly, others are untested.
  1418.            -added support for newer VIA chipsets (all untested)
  1419.             Apollo MVP4, Apollo Pro, Apollo Pro Plus/133/133A,
  1420.             Apollo ProMedia, Apollo Pro 133Z/PM133, Apollo KX133,
  1421.             Apollo KT133(A), Apollo KT266, Apollo Pro 266.
  1422.             North Bridges: VT8501, VT82C691/693(A)/694X, VT82C693(A), VT8601,
  1423.             VT8605, VT8371, VT8363(A), VT8366, VT8633
  1424.             South Bridges: VT82C686(A), VT8231, VT8233 (last two may or may
  1425.             not work because I don't have datasheets).
  1426.             Plus some north bridges that aren't used anywhere (but are in
  1427.             VIA's INF file) - VT8653, VT8662, VT8615, VT8361, VT3133.
  1428.            -added support for AMD 750, 760 and 760MP chipsets (751,761 and
  1429.             762 north bridges, 756 and 766 south bridges). Registers are
  1430.             almost same as VIA. Untested.
  1431. 1.19       -added support for Intel 8xx chipsets (Hub Architecture):
  1432.             i810, 810E, 810E2, 815, 815E(P), 815EM, 820, 820E, 840, 850
  1433.             with these I/O controller hubs:
  1434.             82801AA(ICH), 82801AB(ICH0), 82801BA(ICH2), 82801BAM(ICH2-M)
  1435.             (they're all not tested)
  1436.            -fixed ALi chipset detection
  1437.            -M1543 now support 512KB ROMs, but only some revisions of this chip
  1438.             can really support them (and according to ALi, there is no
  1439.             software way to detect that)
  1440. 1.18       -I (Rainbow Software) am continuing the development of this program
  1441.             after it was abandoned for two years
  1442.            -added support for i440BX/ZX and i440GX chipsets
  1443.            -added support for ALi M1543 south bridge and ALi M1621 north
  1444.             bridge (ALi Aladdin Pro II chipset)
  1445.            -added some info about ASD chips into this DOC
  1446.            -added support for Intel 82802AB(4Mb)/AC(8Mb)Firmware Hubs
  1447.            -added support for Atmel AT49F002(N)T chip
  1448. 1.17b      -fixed a bug in the -FORCE option, should work now
  1449.            -still having trouble correctly detecting flash chips, we can use
  1450.             all the input we can get on which chips are and aren't correctly
  1451.             identified by UNIFLASH !
  1452. 1.17       -pre-1.20 release because of some important fixes, still working
  1453.             on some things we promised for 1.20, though
  1454.            -fixed flashing problems with Macronix & AMD chips
  1455.            -Integrated English & French version into one executable to avoid
  1456.             having to keep 2 versions synchronized
  1457.            -Cleaned up chipset detection
  1458.            -known bugs: chip detection still not 100% accurate
  1459.             (we're working on it, this will be fixed in v1.20)
  1460. 1.16d      -Added AMI Flash Interface support
  1461.            -Added the "Additional BIOS Info" option
  1462.            -Added the Macronix MXIC 28F1000PPC/12V chip
  1463.             (not officially released by Adam's request)
  1464. 1.16c      -Made the detection routine more accurate
  1465. 1.16b      -Removed some (debugging?) code that messed up detection
  1466. 1.16       -Fixed a stupid bug in the chip detection part, which made it
  1467.             impossible to identify Atmel chips, for example.
  1468.            -Tried to add TI chips and after long hours of work and of
  1469.             downloading datasheets figured out that TI chips are just
  1470.             "remarked" AMD & Intel chips (the same Mfg & Id numbers), so TI
  1471.             chips will be recognised as AMD or Intel ones.
  1472.            -Made the source code clearer. Wrote a FAQ explaining how to add
  1473.             your own chips.
  1474.            -Added the Intel 28F010/12V and 28F020/12V chips
  1475.            -Translation of the whole thing to french. The english 1.16 version
  1476.             equals french 1.00FRENCH version
  1477. 1.15       -Fixed problems with AMD flash chips
  1478.            -Added VIA 82C570 chipset support
  1479.            -Tested Intel 28F001BX-T/28F001BN-T support
  1480.            TO DO before final release of V1.15: fix extended memory detection,
  1481.            does not work ok on a friends' system ...
  1482. 1.14       -Added Macronix support
  1483.            -Added SST 28EE011 flash chip
  1484.            -Added AMD Am28F010, Am28F010A, Am28F020, Am28F020A, Am28F256
  1485.             Am28F256A, Am28F512 and Am28F512A flash chips
  1486.            -Removed valid PCI ROM check so it is possible to flash a ROM on a
  1487.             PCI card that does not (yet) contain a valid ROM
  1488.            -Added some safety stuff:
  1489.             -cache disabled during flashing (having the cache enabled seems to
  1490.              be a problem with some Cyrix chips (or chip/chipset combo's ?))
  1491.             -interrupts now fully disabled during actual communication with
  1492.              the flash chip for increased reliability
  1493.            -added multiple flash chips/single ROM image support (experimental)
  1494. 1.13       -Added Catalyst support
  1495.            -Added OPTi chipset support (for 82C750 'Vendetta')
  1496.            -Added Intel 28F400/28F004 flash chips
  1497.            -Completely rewrote PCI option ROM support (still experimental)
  1498. 1.12       -Fixed problem ID-ing Intel chips (oops)
  1499.            -Made first attempt at supporting PCI option ROMS (experimental)
  1500. 1.11       -Added Atmel support
  1501. 1.1        -Fixed memory allocation bug with sectored (Intel,AMD) flash ROM
  1502.             chips
  1503.            -Added VIA chipset support
  1504. 1.0        -First public release
  1505.  
  1506.  
  1507. 9.1            KNOWN BUGS
  1508. -------------------------
  1509.  - Intel 28F004-T doesn't work
  1510.  - PCI Option ROM Flashing (-pcirom parameter) doesn't work on many cards
  1511.  - 256KB BIOSes don't work on some i430VX/HX boards (AWDFLASH works!)
  1512.  - Some VIA and AMD chipsets don't work - maybe because of non-standard flash
  1513.    write protection on some boards.
  1514.  - Garbage on screen instead of flashing - on Asus P5A board with Aladdin V
  1515.    and 256K Flash ROM, but it works OK on Micronics C200 (same chipset and
  1516.    128K Flash ROM). On PC Partner VIB8x4DS board with VIA Apollo VPX, UniFlash
  1517.    flashes the SyncMOS F29C51002T chip OK but then hangs with garbage on
  1518.    screen. This problem appears to be associated with SyncMOS Flash ROMs only.
  1519.  - Many Abit boards do not work - looks like undocumented write protection
  1520.  
  1521.  
  1522. 9.2            What's missing
  1523. -----------------------------
  1524.  - Boot Block on Winbond W29C020 can be flashed even if the Boot Block
  1525.    protection is enabled on the chip - AMIFLASH v8.15.02 can do it but
  1526.    UniFlash can't (I don't know how to do it)
  1527.  - Support for ServerWorks, UMC, new VIA and new SiS chipsets because
  1528.    datasheets are unavailable (these companies are simply ignoring e-mails)
  1529.    I can't do much with only "unofficial" info.
  1530.  - Support for some exotic Flash ROMs like Intel 82802AA 2mbit Firmware Hub or
  1531.    Bright BM29FS040 (no datasheets available)
  1532.  
  1533.  
  1534. 10.0           Compatibility tests
  1535. ----------------------------------
  1536.  
  1537. Here is a list of tested & working motherboards/Flash ROM chip combinations.
  1538.  
  1539. Manufacturer  | Model + revision   | Chipset        | Flash ROM chip used
  1540. ------------------------------------------------------------------------------
  1541. ASUSTeK       | T2P4 rev 2 & 3.10  | Intel 430HX    | SST 29EE010/5V
  1542. Expertboard   | 8661               | Intel 430VX    | Winbond W29EE011/5V
  1543. Soyo          | 5TA2               | Intel 430FX    | SST 29EE010/5V
  1544. Shuttle       | Hot-569            | Intel 430TX    | Atmel AT29C010A/5V
  1545. Shuttle       | Hot-565            | Intel 430TX    | Winbond W29EE011/5V
  1546. Shuttle       | Hot-603            | AMD 640        | Winbond W29EE011/5V
  1547. ASUSTeK       | P2B rev 1.10       | Intel 440BX    | Winbond W29EE011/5V
  1548. PC Chips      | M726 v3.4A         | Aladdin Pro 2  | ASD AE29F1008/5V
  1549. Abit          | BX6 rev. 2         | Intel 440BX    | AMIC A29002T/5V
  1550. MicroStar MSI | MS-5120 ver 1      | Intel 430FX    | Winbond W29EE011/5V
  1551. Abit          | BE6-R2             | Intel 440BX    | Winbond W29C020/5V
  1552. DFI           | P2-XLX             | Intel 440LX    | Winbond W29EE011/5V
  1553. FIC           | PT-2006            | Intel 430VX    | Intel 28F001/12V
  1554. PC Chips      | M726 v3.4A         | Aladdin Pro 2  | Winbond W29C020/5V
  1555. Abit          | BX6-R2             | Intel 440BX    | Winbond W29EE011/5V
  1556. Abit          | BX6-R2             | Intel 440BX    | Winbond W29C020(C)/5V
  1557. Abit          | BX6-R2             | Intel 440BX    | SST 29EE010/5V
  1558. Abit          | BX6-R2             | Intel 440BX    | CAT28F010/12V
  1559. Abit          | BX6-R2             | Intel 440BX    | Macronix MX28F1000P/12V
  1560. Abit          | BX6-R2             | Intel 440BX    | Intel 28F010/12V
  1561. AOpen         | AP5C/P             | Intel 430FX    | SST29EE010/5V
  1562. Gigabyte      | GA586SG            | SiS 5591+5595  | Atmel AT29C010A/5V
  1563. Chaintech     | 5IFM0              | Intel 430HX    | Macronix MX29F001B/5V
  1564. ASUSTeK       | P2B rev 1.10       | Intel 440BX    | Atmel AT49F002T/5V
  1565. Micronics     | C200               | Aladdin V      | SST 29EE010/5V
  1566. MicroStar MSI | MS-5120 ver 1      | Intel 430FX    | SST 29EE010/5V
  1567. MicroStar MSI | MS-5120 ver 1      | Intel 430FX    | Macronix MX28F1000P/12V
  1568. MicroStar MSI | MS-5120 ver 1      | Intel 430FX    | H.T. M21032T/12V
  1569. PC Chips      | M726 v3.4A         | Aladdin Pro 2  | Macronix MX29F002(N)T/5V
  1570. PC Chips      | M726 v3.4A         | Aladdin Pro 2  | EON EN29F002NT/5V
  1571. Mercury/Kobian| KOB 694X FSX r1.0  | Apollo Pro 133A| SST 39VF020/3V (PLCC32)
  1572. QDI           | LegendX            | Intel 440LX    | Winbond W29C020(C)/5V
  1573. PC Chips      | M741LMRT           | SiS 620+5595   | SST 29EE010/5V
  1574. PC Partner    | VIB8x4DS           | Apollo VPX     | SyncMOS F29C51002T/5V
  1575. Soyo          | 5EMA+ v1.1         | Apollo MVP3    | Macronix MX29F001T/5V
  1576. LuckyStar     | K7VAT+             | Apollo KT133   | Winbond W29EE011/5V
  1577. LuckyStar     | K7VAT+             | Apollo KT133   | Winbond W29C020(C)/5V
  1578. LuckyStar     | K7VAT+             | Apollo KT133   | SST 39SF020(A)/5V
  1579. Chaintech     | 7AIA5              | Apollo KT133A  | Winbond W49F002U/5V
  1580. PC Chips      | M571               | SiS 5598       | Winbond W29EE011/5V
  1581. PC Partner    | P5VB3+ Rev. B      | Apollo MVP3    | AMD Am29F010A/5V
  1582. Mercury/Kobian| KOB 630E FSFx r1.1 | SiS630+IT8705F | EON EN29F002T/5V
  1583. ECS           | K7S5A              | SiS735+IT8705F | Winbond W49F002U/5V
  1584. PowerTech     | MB532 v1.0         | Intel 430FX    | SST 29EE010/5V
  1585. Matsonic      | MS6260S rev.1.6A   | Aladdin V      | ASD AE29F1008/5V
  1586. PC Partner    | TXB820DS           | Intel 430TX    | Atmel AT29C010A/5V
  1587. PC Chips      | M570 v1.3          | SiS 5591+5595  | Atmel AT29C010A/5V
  1588. Gemlight/DTK  | GMB-P57IPS-V1      | Intel 430TX    | Winbond W29EE011/5V
  1589. PC Chips      | M918 V1.2A         | FinALi 486     | H.T. M21032T/12V
  1590. PC Chips      | M918 V1.2A         | FinALi 486     | Macronix MX28F1000P/12V
  1591. PC Chips      | M918 V1.2A         | FinALi 486     | Winbond W29EE011/5V
  1592. PC Chips      | M918 V1.2A         | FinALi 486     | Atmel AT29C010A/5V
  1593. GVC/BCM       | FR500              | SiS 5598       | AMD Am29F002(N)(B)T/5V
  1594. Asus          | A7V266-E           | Apollo KT266A  | SST 49LF020/3V
  1595. PC Chips      | M537DMA            | Apollo VPX     | H.T. M20271H/12V
  1596. QDI           | BrillianX 1        | Intel 440BX    | SST 29EE020/5V
  1597. ECS(?)        | TD-4IP-UMC-AIO     | UM8881F+8886BF | Winbond W29EE011/5V
  1598. PC Chips      | M919 V3.4B/F       | UM8881F+8886BF | Macronix MX28F1000P/12V
  1599. PC Chips      | M919 V3.4B/F       | UM8881F+8886BF | Winbond W29EE011/5V
  1600. PC Chips      | M715 V1.2A         | Intel 440LX    | ASD AE29F1008/5V
  1601. Zida          | 4DPS               | SiS 85C496+497 | SST 29EE010/5V
  1602. PC Chips      | M571LMR v5.0       | SiS 5598       | Macronix MX29F001T/5V
  1603. Iwill         | P55A2 v1.0         | Intel 430FX    | Intel 28F001BX/BN-T/12V
  1604. Asus          | P2B-F              | Intel 440BX    | Winbond W29C020(C)/5V
  1605. QDI           | WinneX 2 P6I810/W2 | Intel 810      | Intel 82802AB/3.3V
  1606. Asus          | P5A Rev 1.04       | ALi Aladdin V  | SST 39SF020(A)/5V
  1607. AOpen         | AP43               | SiS 85C496+497 | SST 29EE010/5V
  1608. FIC           | PT-2006 v2.2       | Intel 430VX    | Winbond W29C020(C)/5V
  1609. FIC           | PT-2006 v2.2       | Intel 430VX    | H.T. M38705/12V
  1610. MicroStar MSI | MS-5120 ver 1      | Intel 430FX    | Macronix MX28F1000/12V
  1611. PC Chips      | Unknown Socket 4   | ALi Aladdin    | ASD AE29F1008/5V
  1612. PC Chips      | Unknown Socket 4   | ALi Aladdin    | Macronix MX28F1000/12V
  1613. c't Flasher   | 8-bit ISA card     |                | AMD Am29F040B/5V
  1614. c't Flasher   | 8-bit ISA card     |                | Catalyst CAT28F010/12V
  1615. c't Flasher   | 8-bit ISA card     |                | Intel 28F001BX/BN-T/12V
  1616. QDI           | Titanium IB+ 1.0   | Intel 430TX    | SST 29EE010/5V
  1617. QDI           | KinetiZ 7B 1.0     | Apollo KT133   | SST 39SF020(A)/5V
  1618. QDI           | Advance 3 1.0      | Apollo MVP3    | SST 29EE020/5V
  1619. QDI           | BrillianX 9 2.0    | Intel 440BX    | Winbond W29C020(C)/5V
  1620. PC Chips      | M598MR v1.3B       | SiS 530        | Macronix MX29F002(N)T/5V
  1621. Abit          | BX133-RAID         | Intel 440BX    | PMC Pm29F002T/5V
  1622. QDI           | Advance 5/133 1.0  | Apollo Pro 133 | Winbond W29C020(C)/5V
  1623. c't Flasher   | 8-bit ISA card     |                | AMIC A29002T/5V
  1624. c't Flasher   | 8-bit ISA card     |                | AMIC A290021T/5V
  1625. c't Flasher   | 8-bit ISA card     |                | AMIC A29002T/5V
  1626. c't Flasher   | 8-bit ISA card     |                | ASD AE49F2008/5V
  1627. MicroStar MSI | MS-6337 v3.0       | Intel 815EP    | SST 49LF002(A)/3.3V
  1628. Procomp       | BVK2A=BioStar M7VKB| Apollo KT133(A)| AMIC A29002(1)T/5V
  1629. LiPPERT       | Thunderbird        | Intel 8255GME  | Intel 82802AC/3.3V
  1630. LiPPERT       | Thunderbird        | Intel 8255GME  | SST 49LF008A/3.3V
  1631. LiPPERT       | Thunderbird        | Intel 8255GME  | Atmel AT49LW080/3.3V
  1632. Gigabyte      | GA-6WMMC7-1        | Intel 810      | Intel 82802AB/3.3V
  1633. AOpen         | AP5CS              | SiS 5501       | Intel 28F010/12V
  1634. LuckyStar     | 6VBX2 rev 1.1      | Apollo Pro     | Winbond W29EE011/5V
  1635. Abit          | KG7-Lite           | AMD761+686B    | PMC Pm29F002T/5V
  1636. LuckyStar     | 5MVP3 rev 4.0+     | Apollo MVP3    | Winbond W29C011/5V
  1637. c't Flasher   | 8-bit ISA card     |                | SST 39VF020/3V (PLCC32)
  1638. Gemlight/DTK  | GMB-P6BIAK-V1 RB   | Intel 440BX    | Winbond W29C020/5V
  1639. ASRock        | K7S8XE+ r1.03      | SiS748+W83697HF| Winbond W49F002U/5V
  1640. ECS           | K7VTA3 rev. 1      | VIA KT266A     | Winbond W49F002U/5V
  1641. Mercury       | KOB P4X266NFSX v1.0| VIA P4X266     | Winbond W49F002U/5V
  1642. c't Flasher   | 8-bit ISA card     |                | SST 29EE010/5V
  1643. A-Trend       | ATC-1545           | OPTi Viper M   | SST 29EE010/5V
  1644. c't Flasher   | 8-bit ISA card     |                | Macronix MX29F001T/5V
  1645. Abit          | PT5 rev 2.11       | Intel 430FX    | Macronix MX28F1000P/12V
  1646. Asus          | A7V133 rev 1.05    | Apollo KT133A  | EON EN29F002NT/5V
  1647. Asus          | TXP4 rev 1.02      | Intel 430TX    | Intel 28F001BX/BN-T/12V
  1648. Asus          | TXP4 rev 1.02      | Intel 430TX    | Macronix MX28F1000P/12V
  1649. Gigabyte      | GA-586ATV rev 1A   | Intel 430VX    | SST 29EE010/5V
  1650. Gigabyte      | GA-7DPXDW-P        | AMD 760MPX     | SST 49LF020A/3V
  1651. Abit          | BF6                | Intel 440BX    | Winbond W29C020C/5V
  1652. Microstar MSI | MS-6337LE5         | Intel 815EP    | SST 49LF002(A)/3.3V
  1653. ECS           | K7VZA rev 3.0      | Apollo KT133A  | Winbond W49F002U/5V
  1654. Microstar MSI | MS-6153VA v2.1     | Apollo Pro 133 | Winbond W29C020C/5V
  1655. Abit          | KT7-RAID v1.02     | Apollo KT133   | Winbond W49F002U/5V
  1656. Abit          | KT7A v1.0          | Apollo KT133A  | PMC Pm29F002T/5V
  1657.  
  1658. UniFlash does NOT work on boards made by Intel. They use custom BIOS write
  1659. protection and have soldered Flash ROM chips (often in TSOP package) - so
  1660. there's nothing to hot-flash. They have recovery mode (activated by jumper)
  1661. in case something goes wrong with the BIOS.
  1662.  
  1663.  
  1664. 11.0            Beta testing stuff
  1665. ----------------------------------
  1666.  
  1667. We would like to extend our thanx to the following people who've been
  1668. very helpful with beta testing this program.
  1669. NOTE: YOU can be on this list too! All you have to do is send
  1670. information on a system where UNIFLASH doesn't work and help with
  1671. getting it to work on that system.
  1672. Please help us in making UNIFLASH the universal and reliable tool we had
  1673. in mind when we started this project. Thanx in advance!
  1674.  
  1675.                 The heroes gallery (random order)
  1676.                 ---------------------------------
  1677.                 Enrico Antongiovanni
  1678.                 Wim Bervoets
  1679.                 Michael L. Croswell
  1680.                 Polyvios Simopoulos
  1681.                 Matthias David Siebler
  1682.                 Matt Choudoir
  1683.                 Nils Emil P. Larsen (really big thanks)
  1684.                 Josh Little
  1685.                 Tom Wiener
  1686.                 Dennis Schulz (BIG thanks - provided 5 chips and wanted only
  1687.                                one of them back!)
  1688.                 Miha Ovcak
  1689.                 Alejando Pelaez
  1690.                 RusH
  1691.                 David Russell
  1692.                 Highlander
  1693.                 Kuzvesov
  1694.                 Spec
  1695.                 Ernst Ahlers (c't Flasher author)
  1696.                 Alfred Glass, Alex Student, Jurgen Stauffer
  1697.                   at LiPPERT Automationstechnik GmbH
  1698.                 Marc E.
  1699.                 Marek Palka
  1700.                 Peter Krauss
  1701.                 Richard Guinness
  1702.  
  1703.  
  1704. 12.0            Biz support
  1705. ---------------------------
  1706.  
  1707. We would like to thank the following people at the various flash ROM
  1708. and chipset manufacturers for their support (in random order):
  1709.  
  1710.             Scotts Chen at Macronix International Co., Ltd.
  1711.             Darlene Browne at Acer Laboratories, Inc., (USA), Administrator
  1712.             Niel Smith, Application Engineering Manager, ALI USA
  1713.             Henry Ho at Macronix International Co., Ltd.
  1714.             Michael Solinas at Silicon Storage Technology, Inc. (SST), USA
  1715.             Phillip Chang at Megawin Technology Co., Ltd.
  1716.             Christopher Emerson and David Chu at Cypress Semiconductor Corp.
  1717.  
  1718.  
  1719. Thanks goes to Intel - all datasheets are freely available on their web page
  1720. upon release of new hardware. Guess why are Intel chipset the most compatible.
  1721. The companies in the list below should take this as an example of developer
  1722. support.
  1723.  
  1724. I would like NOT to THANK TO following COMPANIES for providing NO SUPPORT
  1725. for independent developers and NOT REPLYING TO E-MAILS:
  1726.  
  1727.             Silicon Integrated Systems (SiS)
  1728.             United Microelectronics Corporation (UMC)
  1729.             ServerWorks
  1730.             NVIDIA Corporation
  1731.  
  1732. I finally got some real e-mail from VIA, but only bad news:
  1733. "At this time, datasheets are only available to manufacturers under non
  1734. disclosure agreement who have a genuine application they are developing. This
  1735. policy is currently under review but at this time I cannot provide the
  1736. datasheets to you."
  1737.  
  1738. ============================== END OF DOCUMENT ===============================